如何在列表python中移动值?

时间:2014-11-20 10:50:14

标签: python list sorting

我有清单:

list = [[1,2,3], [1,2,3], [1,2,3]]

我如何获得下一个输出:

listOutput = [[1,1,1], [2,2,2], [3,3,3]]

如何按索引排序或追加,因为第一个列表中的值可以动态更改?

谢谢!

1 个答案:

答案 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(...)))或使用列表理解,如果你真的需要完整的清单。