如何在Python中获取数组的第1、3和5个元素?

4 投票
6 回答
15606 浏览
提问于 2025-04-18 01:02

有没有什么简单的方法可以在Python中快速获取数组的第1、3和5个元素,比如用a[0,2,4]这样的方式?谢谢。

6 个回答

0

你可以使用,

对列表进行切片操作。

 >>> a=[i for i in range(10)]
 >>> a[::2]

输出:

 [0, 2, 4, 6, 8]
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]
4

切片是实现这个功能最简单的方法。你可以用 [0:5:2] 来进行切片。

>>> range(100)[0:5:2]
[0, 2, 4]

这就相当于说:“从第0个元素开始,到第5个元素(不包括第5个),给我每隔一个的元素。”

5

你可以这样做,这是一种简单的方法,不需要任何导入:

>>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> [a[i] for i in (0, 2, 4)]
[1, 3, 5]
7

使用 operator.itemgetter

>>> lst = [1,2,3,4,5,6,7]
>>> import operator
>>> get135 = operator.itemgetter(0, 2, 4)
>>> get135(lst)
(1, 3, 5)

撰写回答