我有一个 for 循环,它获取数据并将其附加到一个列表中,但是对于 for 循环的每次迭代,我希望它附加到一个不同的列表中。有没有办法做到这一点?
value = []
for i in list:
value.append(i)
但我想要一些东西,比如
for i, num in enumerate(list):
value_i.append(num)
我怎么能这样做呢?
不是列表,而是关闭:
>>> zip([1, 2, 5])
[(1,), (2,), (5,)]
>>> lst = [1,2,3,4]
>>> [list(x) for x in zip(lst)]
[[1], [2], [3], [4]]
顺便说一句,您不应该将list
其用作变量名。
为什么不简单:
>>> [ [e] for e in [1, 2, 3] ]
[[1], [2], [3]]
假设您已经有一个列表集合
my_lists = [list1, list2, list3, …, listN]
和一个源列表
my_sources = [val1, val2, val3, …, valN]
你想要的是
for lst, src in zip(my_lists, my_sources):
lst.append(src)
您也可以通过索引执行此操作:
for i in range(len(lst)):
my_lists[i].append(my_sources[i])
后者可能看起来不那么 Pythonic,但它非常易读并且可能比该zip
方法更有效。