从n中提取一个值

时间:2015-01-27 17:32:35

标签: python list

如何从python中列出 n 的值?

例如:

n = 3
l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

我想得到

[0, 3, 6, 9]

我知道我可以使用for执行此操作,但是还有 pythonic 和短路吗?

4 个答案:

答案 0 :(得分:1)

你可以做一个简单的列表理解

>>> n = 3
>>> l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> [i for i in l if i%n==0]
[0, 3, 6, 9]

如果您的列表总是那样,那么您可以使用步幅

>>> l[::3]
[0, 3, 6, 9]

提示

使用range生成类似

的列表
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

答案 1 :(得分:0)

使用切片将是最pythonic方式:

In [1]: n = 3

In [2]: l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

In [3]: l[::n]
Out[3]: [0, 3, 6, 9]

答案 2 :(得分:0)

使用带步幅的切片:

l[::n]

演示:

>>> n = 3
>>> l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> l[::n]
[0, 3, 6, 9]

答案 3 :(得分:0)

print l[::3] # slice with step n = 3