Python-通过索引将元组转换为多个列表的列表

时间:2018-06-06 05:42:09

标签: python

我有一个看起来像这样的元组列表:

x = [(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]

转换为2个列表的列表的最pythonic和有效方法是什么,其中每个列表分别具有特定索引的所有值?像这样:

y = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]

没有循环可以做到这一点吗?

2 个答案:

答案 0 :(得分:3)

这里你没有循环(至少是非正式的)

[[ele[0] for ele in x]] + [[ele[1] for ele in x]]

你必须遍历元素。在python或任何其他语言中没有别的办法。

答案 1 :(得分:3)

看看马,没有循环。

>>> list(map(list, zip(*x)))
[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]