gpt4 book ai didi

python - 简单的 Python 字符串(向后)切片

转载 作者:太空狗 更新时间:2023-10-30 00:43:56 26 4
gpt4 key购买 nike

是的,我知道上面有很多类似的问题。但我就是找不到我要找的东西。

我的困惑是关于向后切片。

my_jumble = ['jumbly', 'wumbly', 'number', 5]
print(my_jumble[:1:-1])

现在我发现结果会是

[5, 'number']

所以我想也许我会通过改变字符串切片的末端来测试它。

print(my_jumble[:2:-1])

我真的很确定 Python 会给我类似的东西

[5, 'number', 'wumbly']

相反,它给了我这个,让我完全迷失了......

[5]

有人能解释一下这是怎么回事吗?我是 Python 的新手,发现这非常令人困惑。感谢您的帮助。

最佳答案

我认为了解代码中发生的事情的最简单方法之一是了解向后切片反转索引列表的方式(视觉上,它是就像反转你的列表)被切片之前但是列表中元素的索引本身不会改变。

因此当你有这样一个列表时:

['jumbly', 'wumbly', 'number', 5]
0 1 2 3 #<-- index

通过向后读取(添加 -1 作为第三个索引器),您可以使它看起来像这样(因为它现在是从最后一个索引到第一个,而不是从第一个到最后一个):

[5, 'number', 'wumbly', 'jumbly']
3 2 1 0 #<-- index

然后当您从“开始”切片到一个 (:1) 时,您会从“开始”得到所有内容(现在“开始”是 3 ) 并在看到 1 时停止:

[5, 'number', 'wumbly', 'jumbly']
3 2 1 0 #<-- index
^ ^ x
grab! grab! nope!

这样你就得到了返回:

[5, 'number']

当您使用 [:2:-1] 进行反向切片时,同样的原则适用:

[5, 'number', 'wumbly', 'jumbly']
3 2 1 0 #<-- index
^ x
grab! nope!

这样你就得到了结果:

[5]

现在,使用该原则,如果您想返回所需的内容,您知道将什么作为第二个索引器:零! --> [:0:-1]:

[5, 'number', 'wumbly', 'jumbly']
3 2 1 0 #<-- index
^ ^ ^ x
grab! grab! grab! nope!

然后,你会得到你想要的结果:

[5, 'number', 'wumbly']

关于python - 简单的 Python 字符串(向后)切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35956304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com