gpt4 book ai didi

Python反向跨步切片

转载 作者:IT老高 更新时间:2023-10-28 22:07:05 26 4
gpt4 key购买 nike

我的问题的一个具体例子是,“在这个例子中我怎样才能得到'3210'?”


>>> foo = '0123456'
>>> foo[0:4]
'0123'
>>> foo[::-1]
'6543210'
>>> foo[4:0:-1] # I was shooting for '3210' but made a fencepost error, that's fine, but...
'4321'
>>> foo[3:-1:-1] # How can I get '3210'?
''
>>> foo[3:0:-1]
'321'

我可以写 foo[4:0:-1]、foo[5:1:-1] 等并得到我所期望的,这似乎很奇怪,但是没有办法写出切片所以我得到'3210'。

执行此操作的临时方法是 foo[0:4][::-1],但这会在此过程中创建两个字符串对象。我将执行这个操作数十亿次,所以每个字符串操作都很昂贵。

我一定错过了一些愚蠢而简单的事情。感谢您的帮助!

最佳答案

简单地排除结束范围索引...

>>> foo[3::-1]
'3210'

具有讽刺意味的是,关于我认为你没有尝试过的唯一选择。

关于Python反向跨步切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5798136/

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