【问题标题】:Zipping nested lists in Python在 Python 中压缩嵌套列表
【发布时间】:2012-12-03 00:15:28
【问题描述】:

假设我有以下两个列表/numpy 数组:

List1 = [[1,2,3,4], [10,11,12], ...]
List2 = [[-1,-2-3,-4], [-10,-11,-12], ...]

我想获得一个包含上述嵌套列表压缩的列表:

Result = [[(1,-1), (2,-2), (3,-3), (4,-4)], [(10,-10), (11, -11), (12,-12)], ...]

有没有办法用单线(并且以 Pythonic 方式)做到这一点?

【问题讨论】:

标签: python


【解决方案1】:
l1 = [[1,2,3,4], [10,11,12]]
l2 = [[-1,-2,-3,-4], [-10,-11,-12]]

print [zip(a,b) for a,b in zip(l1,l2)]
[[(1, -1), (2, -2), (3, -3), (4, -4)], [(10, -10), (11, -11), (12, - 12)]]

【讨论】:

  • 正要在同一个答案上发帖!哇! +1。即使是 a,b 名称。
  • 如果原始列表很大,您也可以建议 itertools.izip。它将节省创建一个大的临时 zip 列表。但前提是源列表很大
  • @jdi 并且仅在 2.x 中 - 在 3.x 中 zip() 生成生成器,而不是列表。
  • @Lattyware:到目前为止,我只假设人们在使用 py3 时对其进行标记或特别提及。但好信息都一样!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-03
  • 1970-01-01
  • 2012-01-07
  • 2019-04-21
  • 1970-01-01
  • 2021-02-10
  • 2013-11-09
相关资源
最近更新 更多