假设你正在谈论一个列表,你在切片(和开始索引)中指定步骤。语法是list [start:end:step]。
您可能知道正常列表访问以获取项目,例如l [2]得到第三项。给出两个数字和冒号之间,您可以指定一个范围,你想从列表中获取。返回值是另一个列表。例如。 l [2:5]给你第三到第六项。您还可以传递可选的第三个数字,指定步长。默认步长为1,这意味着每个项目(在开始和结束索引之间)。
例:
>>> l = range(10)
>>> l[::2] # even - start at the beginning at take every second item
[0, 2, 4, 6, 8]
>>> l[1::2] # odd - start at second item and take every second item
[1, 3, 5, 7, 9]
如果你想得到列表的每个第n个元素(即排除第一个元素),你将不得不像l [(n-1):: n]。
例:
>>> l = range(20)
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
现在,获得每三个元素将是:
>>> l[2::3]
[2, 5, 8, 11, 14, 17]
如果你想包含第一个元素,你只要做l [:: n]。