这可能是愚蠢和基本的,但我如何获得列表 edcba
当我尝试时:
import string
letters = string.ascii_lowercase
letters[4:0:-1]
'edcb'
这在某种程度上是有道理的,因为索引是 [4,3,2,1]。但是,使用 -1 会导致以下结果:
letters[4:-1:-1]
''
我知道我可以做 "".join(reversed(letters[:5])) 或使用列表理解,但我很好奇如何用负步骤来做。
请您参考如下方法:
letters[4::-1],基本上是 letters[4:None:-1]
这样想切片:
[element to start at:
element to start excluding:
steps]
因此,通过在切片的第二部分中不显式声明 0,您是在告诉解释器从索引 4 开始并转到步骤 -1 直到找不到任何元素。
另一种可视化方式是,如果您要向前执行此操作并想要 "vwxyz",则不会使用 letters[21:25:1],但只有 letters[21:] 转换为 letters[21:None:1]
