2024-05-23 14:32:42 发布
网友
Possible Duplicate:Good Primer for Python Slice Notation
我最近读了一些示例代码,也读了很多网站,但是我似乎没有正确的查询来给出我想要的答案。如果有人能帮我,我会很感激的。
它切成片
x[startAt:endBefore:skip]
如果使用skip = 2,则将选择列表从startAt开始到endBefore结束的所有其他元素。[请记住:索引存在于列表元素之间]
skip = 2
startAt
endBefore
要查看此,请输入
x = range(100)
在Python提示下。然后试试这些东西
x[::2] x[::3] x[10:40:6]
看看会发生什么。
L[x::y]是指一片L,其中x是起始索引,y是步长。下面是一些例子,你可以在解释器中试一下
L[x::y]
L
x
y
>>> 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[::3] [0, 3, 6, 9, 12, 15, 18]
现在每三个元素从L[1]开始
>>> L[1::3] [1, 4, 7, 10, 13, 16, 19]
现在每三个元素从L[2]开始
>>> L[2::3] [2, 5, 8, 11, 14, 17]
你可以指定一个反向的步骤
>>> L[::-1] [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
也可以指定给此切片,但该值的长度必须与要替换的切片的长度相同
>>> L[::3]=[0,0,0,0,0,0,0] >>> L [0, 1, 2, 0, 4, 5, 0, 7, 8, 0, 10, 11, 0, 13, 14, 0, 16, 17, 0, 19]
最后,您可以像这样删除每三个元素
>>> del L[::3] >>> L [1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19]
这是列表切片的语法。 当你说
list[a:b:c],
a是起始索引,b是结束索引,c是可选步长。 这将为您提供一个列表,从索引a(包含)开始,到索引b(排除)结束,在步骤c中选择元素
例如
l = [1,2,3,4,5,6,7]
如果我说l[2:6:2],这会给我[3,5]。
如果您跳过结束索引,就像在您的问题中一样,它将从开始索引(x)中获取元素,选择每个yth元素,直到它到达列表的末尾(如果y为正),如果y为负,则选择列表的开头。
例如,l[1::-1]=[2,1]
l[1::2]=[2,4,6]
默认步长为1。
它切成片
如果使用
skip = 2
,则将选择列表从startAt
开始到endBefore
结束的所有其他元素。[请记住:索引存在于列表元素之间]要查看此,请输入
在Python提示下。然后试试这些东西
看看会发生什么。
L[x::y]
是指一片L
,其中x
是起始索引,y
是步长。下面是一些例子,你可以在解释器中试一下如果你想每三个元素
现在每三个元素从L[1]开始
现在每三个元素从L[2]开始
你可以指定一个反向的步骤
也可以指定给此切片,但该值的长度必须与要替换的切片的长度相同
最后,您可以像这样删除每三个元素
这是列表切片的语法。 当你说
a是起始索引,b是结束索引,c是可选步长。 这将为您提供一个列表,从索引a(包含)开始,到索引b(排除)结束,在步骤c中选择元素
例如
如果我说l[2:6:2],这会给我[3,5]。
如果您跳过结束索引,就像在您的问题中一样,它将从开始索引(x)中获取元素,选择每个yth元素,直到它到达列表的末尾(如果y为正),如果y为负,则选择列表的开头。
例如,l[1::-1]=[2,1]
l[1::2]=[2,4,6]
默认步长为1。
相关问题 更多 >
编程相关推荐