是否可以在 python 中对字符串的最后一个字母进行切片,同时仍然具有停止值?我想创建一个循环来将字符串的所有字母从后到前单独切片,如下所示:
str = "help"
for i in range(len(str)):
letter = str[-(i+1):-i]
print(letter, end=", ")
在理想的情况下,这会打印“p,l,e,h”,但这种方法不起作用,因为它不打印“p”。我发现我可以通过跳过停止值(
letter = str[-1:]
)来对“p”进行切片,但这在循环中是不可能的。然后我需要将(p 的)第一个切片放在循环之外,这真的很烦人。另一种解决方案可能是在字符串末尾添加一个空格,但是对于这个问题是否有更好的“真实”解决方案,它允许我保持循环和字符串不受影响?
首先,正如 Tom Karzes 提到的,不要命名字符串
str
。
解决您的问题最有效的方法是:
help = "help"
for c in reversed(help):
print(c, end=', ')