【问题标题】:better way to do this list comprehension python做这个列表理解python的更好方法
【发布时间】:2022-01-16 16:42:36
【问题描述】:

我有很多 Python 列表,例如 A、B、C、...

A = [1,2,3,4,5]
B = ['a', 'b', 'c', 'd', 'e']

我想要的输出是

C = [[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd'], [5, 'e']]

我想到的最好的事情是

C = [[i,k] for i,k in zip(A,B)]

但是我有很多列表要添加,还有什么更好的解决方案?

【问题讨论】:

  • [list(pair) for pair in zip(A, B, C, D, etc)]
  • 我们讨论了多少个列表?因为你写的东西是得到你想要的输出的一种非常明智的方式。
  • 大约有 8 个列表,这使得代码看起来不太可读@Jasmijn
  • 如果内部列表可以是元组,那就是简单的list(zip(A, B))。否则@AbdulNiyasPM 提出的解决方案很好(或者您可以将其写成list(map(list, zip(A, B))))。
  • @AbdulNiyasPM 谢谢它的魅力!

标签: python list aggregate list-comprehension


【解决方案1】:

Zip 适用于任意数量的列表。

>>> zip([1, 2, 3], "abc", [True, False, None])
[(1, 'a', True), (2, 'b', False), (3, 'c', None)] 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-25
    • 2013-09-10
    • 2021-01-19
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多