2017-02-16 9 views
-3

すべてのネストされたリストを別々のリストに分割しようとしています。 all_v_100_history = [[2,4],[2,1,5],[6,3,5]]、と私は、個々のサブリストに分けたい:例えば l1=[2,4]l2=[2,1,5]、ネストされたリストの l3=[6,3,5] ... 数はjなので、私の目標は、サブリストのall_v_100_historyjに番号を分離することです。Pythonはネストされたリストからサブリストを分離します

+1

でこれだけの作品は、なぜあなたは 'all_v_100_history [n]は'の表記とそれを得ることができたときに分離したいです。 – MYGz

+2

なぜ神の緑の地上でこれをしたいですか? – TigerhawkT3

+0

これと単にリストをコピーするだけの違いは何ですか?または古いリストを使用していますか? – rassar

答えて

0

これは奇妙な質問です、そしてあなたはおそらくはこれを行うべきではありませんが、ここに行く:

lcls = locals() 
for i in range(len(all_v_100_history)): 
    lcls['l' + str(i)] = all_v_100_history[i] 

ここでは「魔法」の部分は、あなたをさせる、あなたのローカル変数のハッシュテーブルを与えるlocals()ですアクセスキーを動的に変更するには、それらを割り当てるために変数を事前に宣言する必要はありません。最後に、ローカルコンテキストでl1、l2 ... lj変数の束で終了します

上記は関数内では機能しませんが、完全性のために追加するハックがあります(その悪いコーディングはこれを使用しないでください)

def my_func(all_v_100_history): 
    lcls = locals() 
    for i in range(len(all_v_100_history)): 
     lcls['l' + str(i)] = all_v_100_history[i] 
    return #return whatever it is you want to return 
    exec "" #this is the magic part 

のpython 2.

+1

これはひどい考えです。 – TigerhawkT3

+1

これはまた動作しません**全く** ...これを関数の中に入れて 'print(l1)'しようとします... – donkopotamus

+0

@donkopotamus興味深い、 – Nullman

関連する問題