有没有快速的方法从Python中的数组中获取第1,第3和第5个元素,如[0,2,4]?感谢。
答案 0 :(得分:6)
>>> lst = [1,2,3,4,5,6,7]
>>> import operator
>>> get135 = operator.itemgetter(0, 2, 4)
>>> get135(lst)
(1, 3, 5)
答案 1 :(得分:3)
切片是最简单的方法。你想用[0:5:2]切片。
>>> range(100)[0:5:2]
[0, 2, 4]
这相当于说“从元素0开始,直到(但不包括)元素5,给我每个第二个元素。”
答案 2 :(得分:2)
您可以使用切片来实现此目的。
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
d = a[0:5:2]
print d
[1, 3, 5]
如果您想要推广到其他所有条目,请使用
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b = a[::2]
print b
[1, 3, 5, 7, 9]
答案 3 :(得分:1)
你可以这样做,这是一个简单的方法,无需导入:
>>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> [a[i] for i in (0, 2, 4)]
[1, 3, 5]
答案 4 :(得分:0)
你可以使用,
在列表上切片操作。
>>> a=[i for i in range(10)]
>>> a[::2]
输出:
[0, 2, 4, 6, 8]
答案 5 :(得分:0)
也许:
v3