我希望通过读取其他列表中的信息来生成一个列表。该列表将采用如下格式maindot =[dot1[0], dot2[0], ...]
,其中的信息来自于dot1
等列表,例如:
dot1=[2,4,34], dot2=[3,45,4],
这将在单独的参数文件中进行。用户将指定点列表的数量n。
我如何编写代码,使得Python“知道”参数文件中给出的点列表数量?
zip
函数从任意数量的可迭代对象中获取列:>>> dot1=[2,4,34]
>>> dot2=[3,45,4]
>>> zip(dot1,dot2)
[(2, 3), (4, 45), (34, 4)]
如果你想把列表的第一个索引放在另一个列表中,你可以直接获取zip(dot1,dot2)
的第一个索引:
new_list=zip(dot1,dot2)[0]
zip
返回一个生成器,因此您可以使用next
函数来访问第一个索引:new_list=next(zip(dot1,dot2))
如果您有很多列表,您可以将它们全部放在一个列表中,并通过解包操作将它们全部传递给zip
函数:
new_list=zip(*main_list)[0]
main_list
中,并将其传递给 zip
函数即可。 - Mazdak
dot1, dot2
等有多少个的情况下获取它们?你几乎肯定需要将它们全部收集到一个列表中(该列表的长度为n
),然后你的问题的解决方案将会是不同的(而且简单)。提供有关你的参数文件的更多信息,我们会帮你解决。 - alexis