2

ここの初心者。
リストのサイズを事前に知らなくても、リストの要素を変数に割り当てたいとしましょう。具体的には、Pythonでどのように行いますか?
例えば。list5つの要素があり、プログラムは5つの変数(var1、var2、var3、var4、var5)を作成し、それに要素を割り当てます。

4

4 に答える 4

6

多分あなたは使うべきですdict

>>> lst = [0, 1, 2, 3, 4]
>>> d = {}
>>> for i, item in enumerate(lst):
...     d['var' + str(i)] = item
... 
>>> d
{'var4': 4, 'var1': 1, 'var0': 0, 'var3': 3, 'var2': 2}
于 2012-11-15T09:18:27.003 に答える
2

あなたが求めているものが有効である場合-私は0-n要素のリストが欲しいのですが、私は要素5、20、および67の値だけを知り、他のすべてはデフォルトであるはずです、次にdict、スパースリストとして整数キーでを使用できます。

d = {}
d[5] = 34.7
d[20] = 68.1
d[67] = 9.13

次に、次のように使用できます。

d.get(5, 'default')
# 34.7
d.get(6, 'default')
# default

その辞書をリストに具体化したい場合は、list-compを使用できます。

mylist = [d.get(i, 'default') for i in range(max(d))]
print len(mylist), mylist[:10]
# 67 ['default', 'default', 'default', 'default', 'default', 34.700000000000003, 'default', 'default', 'default', 'default']
于 2012-11-15T09:49:17.587 に答える
0

空のリストを作成し、サイズを気にせずに要素をいくつでも追加できます。

mylist = [] #empty list, list is not constrained to be any particular size

mylist.append(some_var) #add a variable to list
于 2012-11-15T09:14:30.447 に答える
0

私の答えは、black_dragon の答えに基づいています。リストを処理するための私の方法は彼の答えです。

リスト内の値に基づいて変数を作成したいので、グローバル シンボル テーブルを取得するための組み込み関数であるglobals()を使用して、グローバル ディクショナリを更新できます。グローバル シンボル ディクショナリを更新すると、変数が作成または変更されます。

l = [10, 20, 30]

d = {}
for i,v in enumerate(l):
    d ['var'+str(i)] = v

globals().update(d)

print var0
print var1
print var2
于 2012-11-15T23:02:19.667 に答える