【问题标题】:How to define 'func' and 'iter' in map(func, iter) dynamically?如何在 map(func, iter) 中动态定义“func”和“iter”?
【发布时间】:2018-09-13 09:06:15
【问题描述】:

假设我有这个列表列表

M = [[2,4,2,6],[5,7,2,3],[3,43,1,6]]

跑步

print(list(map(lambda i,j,k: (i,j,k), M[0],M[1],M[2])))

返回

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

问题:有没有办法动态地做到这一点?也就是说,要写下对任何 n 个列表的列表执行此操作的内容(最好在一行中)?我想要类似的东西

X = [[4,2,2], ..., [9,4,1]]
expression(X)

返回

[(4, ..., 9), (2, ..., 4), (2, ..., 1)]

【问题讨论】:

    标签: python python-3.x lambda


    【解决方案1】:

    您可以使用zip

    例如:

    M = [[2,4,2,6],[5,7,2,3],[3,43,1,6]]
    print(list(zip(*M)))
    

    输出:

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

    【讨论】:

      猜你喜欢
      • 2015-02-28
      • 1970-01-01
      • 2012-11-16
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 2017-09-17
      • 2011-09-30
      • 1970-01-01
      相关资源
      最近更新 更多