33

リストがある場合は、次のように言います。

ll = ['xx','yy','zz']

そして、このリストの各要素を個別の変数に割り当てたい:

var1 = xx
var2 = yy
var3 = zz

リストの長さがわからない場合、どうすればよいですか? 私が試してみました:

max = len(ll)
count = 0
for ii in ll:
    varcount = ii
    count += 1
    if count == max:
        break

varcount が動的変数を作成する有効な方法ではないことはわかっていますが、私がやろうとしているのは、カウントに基づいて、、、などを作成することですvar0var1var2var3

編集: :

気にしないで、新しい質問を始めるべきです。

4

8 に答える 8

30

これを行うのは得策ではありません。変数を定義した後、変数をどうしますか?

しかし、正当な理由があるとすれば、Python でそれを行う方法は次のとおりです。

for n, val in enumerate(ll):
    globals()["var%d"%n] = val

print var2  # etc.

ここでglobals()は、ディクショナリとして提示されたローカル名前空間です。番号付けは、配列インデックスのようにゼロから始まりますが、enumerate()代わりに 1 から開始するように指示できます。

しかし、繰り返しますが、これが実際に役立つ可能性は低いです。

于 2013-10-10T15:37:11.827 に答える
12

戻って、動的変数が「必要」な理由を再考する必要があります。リストをループしたり、チャンクにスライスしたりして、同じ機能を作成できる可能性があります。

于 2013-10-10T15:37:01.887 に答える
1

代わりに、次のようにします。

>>> var = ['xx','yy','zz']
>>> var[0]
'xx'
>>> var[1]
'yy'
>>> var[2]
'zz'
于 2013-10-10T15:38:29.167 に答える