【发布时间】:2019-07-05 02:19:32
【问题描述】:
我想在 Python3 中迭代一个 Iterables 列表。
换句话说,我有一个可迭代矩阵,我想循环并在每次迭代时获取一个值矩阵。更具体地说,我有几个文件(行),它们有多个版本(列),我想在每次迭代时,得到一个包含我所有文件的第一行的元组/矩阵等等。
所以,鉴于这样的事情
a = [
[iter(range(1,10)), iter(range(11,20)), iter(range(21,30))],
[iter(range(101,110)), iter(range(111,120)), iter(range(121,130))]
]
我愿意
for sources_with_their_factors in MAGIC_HERE(a):
print(sources_with_their_factors)
得到
((1,11,21), (101,111,121))
((2,12,22), (102,112,122))
…
我试过了
for b in zip(zip(*zip(*a))):
...: print(b)
...:
((<range_iterator object at 0x2b688d65b630>, <range_iterator object at 0x2b688d65b7e0>, <range_iterator object at 0x2b688d65b540>),)
((<range_iterator object at 0x2b688d65ba50>, <range_iterator object at 0x2b688d65b6f0>, <range_iterator object at 0x2b688d65b0c0>),)
但它并没有迭代我的范围。
【问题讨论】:
-
实际上,我不想链接我的可迭代对象。链接会序列化我的文件,我想并行迭代它们。
-
zip似乎是这样。将所有列表作为参数传递给zip函数。 -
你不应该在你的问题中写下答案。接受并最终直接支持答案
-
如果您不知道如何接受答案,请查看how to accept an answer
标签: python python-3.x iterator iterable