提取列表的每个列表

时间:2013-09-30 15:15:00

标签: python list

我有以下列表清单:

list_sample = [[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6], [0.021, 0.021, 0.021, 0.021, 0.021, 0.021, 0.021], [0.022, 0.022, 0.022, 0.022, 0.022, 0.022, 0.022],...]

我想提取每个列表并将其归因于另一个列表,例如:

for i,line in enumerate(list_sample):
    if  i==0:
        Z_level=line
    if i==1:
        XD1=line
    if i==2:
        XD2=line
    .....

有没有办法让这个更有效率?感谢

4 个答案:

答案 0 :(得分:4)

或(补充RobEarl)回答,

Z_level, XD1, XD2, ... = list_sample

但是,如果您不知道list_sample有多大,则需要查找如何在python中动态设置变量。您可以查看部分here

答案 1 :(得分:3)

如果我读得正确,你想把第一个子列表分配给Z_level,第二个子列表分配给XD1 ...

Z_level, XD1, XD2 ... = list_sample

如果您只想分配3件事:

Z_level, XD1, XD2 = list_sample[:3]

答案 2 :(得分:2)

不需要循环:

Z_level = list_sample[0]
XD1 = list_sample[1]
XD2 = list_sample[2]
...

答案 3 :(得分:2)

无限,试试这个......

for i,line in enumerate(list_sample):
    if i == 0:
        vars()["Z_level"] = line
        continue
    vars()["XD"+str(i)] = line

这只是为了好玩,但你应该使用它,请阅读@defuz和@DSM关于原因的评论。

这可能是一个更好的解决方案:

lists = {}
for i,line in enumerate(list_sample):
    if i == 0:
        lists["Z_level"] = line
        continue
    lists["XD"+str(i)] = line