假设我们有:
a = [[1, 2, 3], [4, 5, 6]]
除了循环之外,访问数组以获取每个列表中的第一个元素的最快方法是什么。
我希望结果能给我... 1,4
假设我们有:
a = [[1, 2, 3], [4, 5, 6]]
除了循环之外,访问数组以获取每个列表中的第一个元素的最快方法是什么。
我希望结果能给我... 1,4
使用 zip(*a)
a = [[1, 2, 3], [2, 3, 4]]
result = zip(*a)[0]
print result
一种快速简便的方法是仅提取a[0][0]
and a[1][0]
,但取决于您使用它的目的,这可能不会一直有效。
如果没有循环,您需要像 ethg242 那样展开循环。这具有仅适用于固定长度的缺点a
这是一个列表理解
[i[0] for i in a]
也可以使用map()
,但这也有一个隐式循环
from operator import itemgetter
map(itemgetter(0), a)
您可能需要考虑 numpy:
>>> import numpy as np
>>> a = [[1, 2, 3], [4, 5, 6]]
>>> b = np.array(a)
>>> b[:,0]
array([1, 4])