Skip to main content
 首页 » 编程设计

python之如何在 map(func, iter) 中动态定义 'func' 和 'iter'

2024年12月31日30pengyingh

假设我有这个列表列表

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)] 

请您参考如下方法:

你可以使用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)]