从列表中获取每个第三个元素

时间:2013-12-08 19:05:53

标签: python list

例如,如果我有一个如下列表

lst = [1, 10, 100, 2, 20, 200, 3, 30, 300];

我怎么能回来[1, 2, 3]?基本上它将从第一个数字开始,每三个数字开始。

5 个答案:

答案 0 :(得分:6)

使用切片表示法的步骤参数。

>>> lst[::3]
[1, 2, 3]

<强>更新

看一下这篇文章:Python's slice notation,它将进一步详细解释。

答案 1 :(得分:0)

如果不完全理解你的问题,你可以使用内置的排序函数对其进行排序,然后获得前3个元素

s = sorted(lst)[:3]

如果您想要列表中的1或2或3或其他内容

[x for x in lst if x in range(1,4)]

希望这有帮助

答案 2 :(得分:0)

lst = [1, 10, 100, 2, 20, 200, 3, 30, 300]

print [lst[i] for i in xrange(0, len(lst), 3)]

答案 3 :(得分:-1)

for item in lst:
    if item in [1,2,3]:
        new_lst.append(item)
使用列表理解

或更短:

new_lst=[item for item in lst if item in [1,2,3]]

答案 4 :(得分:-1)

简单列表理解:

[x for x in lst if x < 10 and x >= 0]