可能重复:
Python Slice表示法的好入门
我最近一直在阅读一些示例代码并且我已经阅读了不少网站,但我似乎无法正确查询我给出的答案我正在寻找.如果有人能帮助我,我会很感激.
ncm*_*ist 32
切片
x[startAt:endBefore:skip]
Run Code Online (Sandbox Code Playgroud)
如果您使用skip = 2,则将选择开始于startAt结尾的列表中的每个其他元素endBefore.[记住:指数列在BETWEEN列表元素]
要查看此内容,请输入
x = range(100)
Run Code Online (Sandbox Code Playgroud)
在Python提示符下.然后尝试这些事情
x[::2]
x[::3]
x[10:40:6]
Run Code Online (Sandbox Code Playgroud)
看看会发生什么.
Joh*_*ooy 28
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]
Run Code Online (Sandbox Code Playgroud)
如果你想要每一个第三元素
>>> L[::3]
[0, 3, 6, 9, 12, 15, 18]
Run Code Online (Sandbox Code Playgroud)
现在每个第三个元素从L [1]开始
>>> L[1::3]
[1, 4, 7, 10, 13, 16, 19]
Run Code Online (Sandbox Code Playgroud)
现在每三个元素从L [2]开始
>>> L[2::3]
[2, 5, 8, 11, 14, 17]
Run Code Online (Sandbox Code Playgroud)
您可以指定一个倒退的反向步骤
>>> L[::-1]
[19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
Run Code Online (Sandbox Code Playgroud)
您也可以指定此切片,但该值必须与要替换的切片具有相同的长度
>>> 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]
Run Code Online (Sandbox Code Playgroud)
最后,你可以删除这样的每个第3个元素
>>> del L[::3]
>>> L
[1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61102 次 |
| 最近记录: |