在python 3中正确使用itertools

我正在尝试扩展以下列表
[(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


桃花长相依
浏览 190回答 2
2回答

精慕HU

一个zip对象是可迭代的。与 Python 3 中的其他 API 非常相似,这个 API 现在返回一个可迭代对象(如生成器),它懒惰地评估其输入,而不是在list.在大多数情况下,您可以像以前一样使用对象。如果您需要一个列表,只需调用list()该zip对象:result_list = list(zip(itertools.cycle(...)))

千万里不及你

如果 zip 对象创建正确,您可以执行list(zip_object)或[*zip_object]获取列表。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python