将列表中的每一对元素收集到 Python 中的元组中

新手上路,请多包涵

我有一个小整数列表,比如:

 [1, 2, 3, 4, 5, 6]

我希望收集顺序对并返回一个包含从这些对创建的元组的新列表,即:

 [(1, 2), (3, 4), (5, 6)]

我知道必须有一个非常简单的方法来做到这一点,但不能完全解决。

谢谢

原文由 TartanLlama 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 359
2 个回答

好吧,有一种非常简单但有点脆弱的方法,用它自己的切片版本压缩它。

 zipped = zip(mylist[0::2], mylist[1::2])

如果您不知道,最后一个切片参数是“步骤”。所以我们从零开始选择列表中的第二个项目(1、3、5)。然后我们做同样的事情,但从一个 (2, 4, 6) 开始,并使用 zip 将它们制成元组。

原文由 Skurmedel 发布,翻译遵循 CC BY-SA 2.5 许可协议

除了上面的答案,你还需要知道最简单的方法(如果你还不知道的话)

 l = [1, 2, 3, 4, 5, 6]
o = [(l[i],l[i+1]) for i in range(0,len(l),2)]

原文由 Senthil Kumaran 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题