jam*_*lin 37 python list slice
Python教程解释了索引为负时的切片行为,但是当结束索引在起始索引之前时,我找不到描述行为的文档.(我也看过Explain Python的切片符号,也许我读的不够仔细,但那里的答案似乎没有解决这一点.)
我观察到的行为是返回一个空列表,这对我来说似乎是合理的.但是,对于我来说i,j在相反的顺序之间返回项目列表或仅仅提出异常对我来说似乎也是合理的.
是list[i:j]保证是一个空列表,如果list[j]先于list[i]?
Mar*_*ers 44
是,如果j <= i为true,则对于标准Python类型,结果切片为空.要以相反的顺序获得结果,您需要添加一个负步幅:
list[i:j:-1]
Run Code Online (Sandbox Code Playgroud)
因为显性比隐含更好.
这在常见序列操作中记录,脚注4:
的切片小号从我到Ĵ被定义为物品的具有索引序列ķ使得
i <= k < j.如果i或j大于len(s),请使用len(s).如果我被省略或None使用0.如果j省略或None使用len(s).如果i大于或等于j,则切片为空.
大胆强调我的.
自定义类型可以自由解释.
| 归档时间: |
|
| 查看次数: |
1516 次 |
| 最近记录: |