如何从python中列出 n 的值?
例如:
n = 3
l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
我想得到
[0, 3, 6, 9]
我知道我可以使用for
执行此操作,但是还有 pythonic 和短路吗?
答案 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