为了账号安全,请及时绑定邮箱和手机立即绑定

在python 3中正确使用itertools

在python 3中正确使用itertools

桃花长相依 2021-07-09 15:11:22
我正在尝试扩展以下列表[(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
查看完整描述

2 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

一个zip对象是可迭代的。与 Python 3 中的其他 API 非常相似,这个 API 现在返回一个可迭代对象(如生成器),它懒惰地评估其输入,而不是在list.

在大多数情况下,您可以像以前一样使用对象。

如果您需要一个列表,只需调用list()zip对象:

result_list = list(zip(itertools.cycle(...)))


查看完整回答
反对 回复 2021-07-13
?
千万里不及你

TA贡献1784条经验 获得超9个赞

如果 zip 对象创建正确,您可以执行list(zip_object)[*zip_object]获取列表。


查看完整回答
反对 回复 2021-07-13
  • 2 回答
  • 0 关注
  • 182 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信