我想将此想法应用于单独命名列表中的列表。说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]
为了将字符串转换为列表。任何人都知道一种做这项工作的方法还是胸像是胸围?
最简单的方法是使用元组包装/解压缩
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
的情况下,不应使用动态创建变量。如果您不知道如何创建动态变量,那可能意味着您不应该。网络中有足够的信息来查找快速的Google搜索以了解为什么。
在这里说是一种使用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
互动以从这些列表中获取所需的任何东西。
您可以使用 exec
执行字符串,就像是python代码:
for i in range(len(L)):
exec('L{} = L[{}]'.format(i, i))
在您的情况下会给您变量L0,L1,L2。
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)
结果
{'L0': [0, 1, 2], 'L1': [3, 4, 5], 'L2': [6, 7, 8]}