Python如何提取嵌套列表对应位置元素组成新列表
解决嵌套列表按对应位置分组的问题
直接用Python内置的zip()函数配合解包操作*就能实现你要的效果,代码示例如下:
new = [['ser', 'admin', 'emma', 'paul'], [2, 10, 5, 9], [33, 37, 16, 67]] # 提取对应位置元素并转成列表 result = [list(item) for item in zip(*new)] # 逐个输出分组后的列表 for group in result: print(group)
运行后会输出:
['ser', 2, 33] ['admin', 10, 37] ['emma', 5, 16] ['paul', 9, 67]
原理说明
*new会把原嵌套列表里的三个子列表拆成独立参数传给zip(),zip()会自动遍历每个子列表,将对应位置的元素打包成元组。最后通过列表推导式把每个元组转成列表,就得到了你需要的分组结果。不管子列表的长度怎么动态增长,只要所有子列表长度保持一致,这个方法都能正常工作。
内容的提问来源于stack exchange,提问作者serlomu
相关产品推荐
相关产品推荐

