从n中提取一个值

2024-04-23 17:06:56 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中,如何从列表的n中提取值?你知道吗

例如:

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

我想得到

[0, 3, 6, 9]

我知道我可以用for来做这件事,但是还有其他的pythonic和short way吗?你知道吗


Tags: 列表forpythonicwayshort
3条回答

使用带步幅的切片:

l[::n]

演示:

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

使用切片将是最具吸引力的方式:

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]

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

>>> 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]

相关问题 更多 >