我有清单:
list = [[1,2,3], [1,2,3], [1,2,3]]
我如何获得下一个输出:
listOutput = [[1,1,1], [2,2,2], [3,3,3]]
如何按索引排序或追加,因为第一个列表中的值可以动态更改?
谢谢!
答案 0 :(得分:5)
您通过命名自己的变量list
来阻止自己,阻止了对the built-in的访问。如果你给它一个更明智的名字:
>>> lst = [[1, 2, 3], [1, 2, 3], [1, 2, 3]]
然后您可以使用zip
轻松转置,并使用map
将每个生成的元组转换为列表:
>>> map(list, zip(*lst))
[[1, 1, 1], [2, 2, 2], [3, 3, 3]]
请注意,在Python 3.x map
produces an iterator中,不是列表,因此您需要围绕它进行另一个list
调用(list(map(...))
)或使用列表理解,如果你真的需要完整的清单。