如何使用显式的“从步骤i将s的切片从i转换到j”来反转字符串?

复制粘贴

我已经看到::-1可以将其用于反转字符串,但是我认为找到i:j:k能够完成此工作的显式整数会很有趣

我找到了文档common-sequence-operations,但无法使其正常工作。此代码测试很简短:

s = "abcd"
print(1,s[4:3:-1]) 
print(2,s[4:2:-1])    
print(3,s[4:1:-1])
print(4,s[4:0:-1])
print(5,s[4:-1:-1])  

这是输出:

1 
2 d
3 dc
4 dcb
5 

看来您无法使用显式公式来执行此操作s[i:j:k]

通常我可以通过试错法弄清楚简单的编程,但这在这里不起作用。也许仔细阅读文档可以帮助我解决这个问题!

schwobaseggl

您必须这样做:

s = "abcd"
print(s[len(s):-len(s)-1:-1])

或者,正如Terry Jan Reedy在评论中指出的那样,以下编写方式很好地说明了切片的长度(stop - start) / step

print(s[-1:-1-len(s):-1])

问题在于,负索引从背面开始,因此负索引对应于以下“真实”索引:

-1 ->  3
-2 ->  2
-3 ->  1
-4 ->  0  # -len(s)
-5 -> -1  # that's the one you need (or any smaller number)

0还是-len(s)不够,因为stop切片索引是互斥的,所以您必须降低一个。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将字符串切片转换为符文切片

如何将整数切片的字符串转换为整数切片?

将结构转换为字符串切片?

如何通过Python字符串切片大步反转字符串

将字符串切片转换为指针切片

将字符串切片转换为float32切片

将字符串切片转换为自定义类型的切片

如何将2D字符串切片转换为[] byte?

使用切片符号反转字符串中的最后n个字符

如何使用向量的字符串切片

如何使用指向切片字符串的指针

如何使用 INSTR() 对字符串进行切片

Python:如何反转字符串的多个切片操作

将字符串转换为字符串类型的切片

如何将 Terraform 字符串集的字符串表示形式转换为字符串切片

如何将十六进制字符串转换为u8切片?

切片无法转换为字符串

如何通过在熊猫中切片来拆分列字符串?

如何更有效地将切片字符串转换为切片对象,然后可用于在 PyTorch / NumPy 中对数组和张量进行切片?

将字符串切片转换为BSON数组

将字符串转换为切片索引并为其分配值

Golang将字符串化列表转换为切片

将 Python 字符串转换和切片到列表?

为什么在“反转”字符串中搜索更大的字符串比切片反转需要更多时间?

Python中对字符串进行切片和反转时如何知道输出的详细解释

我应该如何在Golang中将切片转换为字符串?

如何从时间戳中切片日期并转换为字符串?

使用切片将字符串拆分为单个字符

golang如何使用正则表达式将字符串拆分为包含分界符的切片