我有一个看起来像这样的元组列表:
x = [(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]
转换为2个列表的列表的最pythonic和有效方法是什么,其中每个列表分别具有特定索引的所有值?像这样:
y = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
没有循环可以做到这一点吗?
答案 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]]