我想应用这个想法将列表列表分成单独命名的列表。说L = [[0,1,2],[3,4,5],[6,7,8]]
,我希望第一个列表([0,1,2])
与您分开L0 = l[0]
(列表中的第一个列表标记为L0
)。我的想法是:
for i in range(11):
'l{}'.format(i) = l[i]
但错误信息是:can't assign to function call
。我希望最终能实现这一目标:
for i in range(11):
list( 'l{}'.format(i)) = l[i]
以便将字符串转换为列表。任何人都知道如何使这项工作或想法成为一个破产?
答案 0 :(得分:1)
最简单的方法是使用元组打包/解包
L = [[0,1,2],[3,4,5],[6,7,8]]
L0, L1, L2 = L
print(L0)
print(L1)
print(L2)
结果:
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
您可以动态创建变量(但我认为这不是一个好主意)。在可以使用dict
的情况下,不应使用动态创建变量。如果您不知道如何创建动态变量,则可能意味着您不应该这样做。有足够的信息在网上查找快速谷歌搜索知道原因。
这里说的是使用dict
方法做你想做的事情。
L = [[0,1,2],[3,4,5],[6,7,8]]
my_dict = {}
for x in range(len(L)):
my_dict[("L%s"%(x))] = L[x]
print (my_dict)
结果将是:
{'L0': [0, 1, 2], 'L1': [3, 4, 5], 'L2': [6, 7, 8]}
然后您需要做的就是与dict
互动,从这些列表中获取您需要的任何内容。
答案 1 :(得分:0)
您可以使用exec
执行字符串,就像它是Python代码一样:
for i in range(len(L)):
exec('L{} = L[{}]'.format(i, i))
在你的情况下,会给你变量L0,L1,L2。
答案 2 :(得分:0)
L = [[0,1,2],[3,4,5],[6,7,8]]
myDict = {}
for index,inner_list in enumerate(L):
key = 'L'+str(index)
myDict[key]=inner_list
print(myDict)
<强> RESULT 强>
{'L0': [0, 1, 2], 'L1': [3, 4, 5], 'L2': [6, 7, 8]}