我有一个for循环,它正在获取数据并将其附加到列表中,但是对于for循环的每次迭代,我希望它附加到不同的列表中。有没有办法做到这一点?
value = []
for i in list:
value.append(i)
但我想要像
这样的东西 for i, num in enumerate(list):
value_i.append(num)
我怎么能这样做?
答案 0 :(得分:3)
不是列表,但是关闭:
>>> zip([1, 2, 5])
[(1,), (2,), (5,)]
答案 1 :(得分:3)
>>> lst = [1,2,3,4]
>>> [list(x) for x in zip(lst)]
[[1], [2], [3], [4]]
顺便说一句,你不应该使用list
作为变量名。
答案 2 :(得分:3)
为什么不简单:
>>> [ [e] for e in [1, 2, 3] ]
[[1], [2], [3]]
答案 3 :(得分:1)
假设您已经有一系列列表
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
方法更有效。