我是Python和编程的新手,所以如果我不以最有效的方式做事,我会道歉。
假设我有一个清单:
Coords = [[1, 1], [2, 1], [1, 2], [1, 1]]
我想创建一个名为xCoords的新列表:
xCoords = [1, 2, 1, 1]
我怎么能这样做? 我想要一个可扩展的方法,因为我目前正在处理的问题涉及一个任意长的位置列表。
由于
答案 0 :(得分:3)
一种简单的方法是使用列表理解
xCoords = [i[0] for i in Coords]
答案 1 :(得分:1)
您可以使用zip
transpose列表,然后选择带有简单索引的第一行:
>>> Coords = [[1, 1], [2, 1], [1, 2], [1, 1]]
>>> zip(*Coords)
[(1, 2, 1, 1), (1, 1, 2, 1)]
>>> zip(*Coords)[0]
(1, 2, 1, 1)
>>> list(zip(*Coords)[0])
[1, 2, 1, 1]
然而,这比列表理解方法更加耗费内存。