Python如何使用zip、map从嵌套列表提取元素并追加到对应列表
实现方法
你可以使用Python的序列解包运算符*,将预定义的list_拆分为独立的位置参数传入zip,对应代码如下:
w, x, y, z = map(list, zip(*list_))
你之前写的zip(zip(list_))无法得到预期结果,是因为没有对list_进行解包,zip会将整个list_作为单个可迭代对象处理,无法实现按位置聚合元素的效果。而加了*的写法和你手动写zip(a,b,c)的运行效果完全一致。
如果你需要和你期望的输出变量名对应,调整接收的变量名即可:
x, y, z, v = map(list, zip(*list_))
运行后即可得到你需要的结果:
x=[[77,88,99],[100,101,102],[111,123,133]] y=[2,5,8] z=[3,6,9] v=[10,11,12]
内容的提问来源于stack exchange,提问作者Jerzy
相关产品推荐
相关产品推荐

