我正在尝试扩展以下列表
[(1, [('a', '12'), ('b', '64'), ('c', '36'), ('d', '48')]), (2, [('a', '13'), ('b', '26'), ('c', '39'), ('d', '52')])]
到
[(1,a,12),(1,b,24),(1,c,36),(1,d,48),(2,a,13),(2,b,26),(2,c,39),(2,d,52)]
我在python 3中使用了zip(itertools.cycle()),但获得了一个zip对象引用。我还有其他方法可以做到吗?这适用于python 2
答案 0 :(得分:0)
zip
对象是可迭代的。就像Python 3中的其他API一样,该API现在返回一个可迭代的对象(如生成器),它懒惰地计算其输入,而不是将整个结果返回到list
中。
在大多数情况下,您可以像以前一样使用对象。
如果需要列表,只需在list()
对象上调用zip
:
result_list = list(zip(itertools.cycle(...)))
答案 1 :(得分:0)
假设已正确创建zip对象,则可以执行list(zip_object)
或[*zip_object]
来获取列表。