gpt4 book ai didi

python - 如何查找字符是否是字符串中的最后一个字符?

转载 作者:太空宇宙 更新时间:2023-11-04 08:07:28 34 4
gpt4 key购买 nike

如何有效地检查 for 循环中的字符是否位于字符串的最后位置?

喜欢:

string = "daffyduck'd"

我会通过

for char in string:
if char == string[-1]:
break

然而,只要存在与最后一个元素匹配的字符,这就会过早结束,因此这是行不通的。我正在处理成对的字符,所以当在 for 循环内时,我正在执行 current_index 和 current_index + 1 操作,因此在不知道最后一个元素的情况下,我将得到一个字符串索引超出范围的错误。

最佳答案

I am dealing with pairs of chars, so when inside a for loop, i am doing a current_index and current_index + 1 operation, so without knowing the last element, I will get a string index out of bound error.

如果你想做的只是一次处理两个相邻的字符,那么不要使用索引,只需zip 实际字符串与没有第一个字符的相同字符串,比如这个

>>> input_string = "daffyduck'd"
>>> for char1, char2 in zip(input_string, input_string[1:]):
... print(char1, char2)
...
...
d a
a f
f f
f y
y d
d u
u c
c k
k '
' d

注意:你原来的做法也有问题,如果最后一个字符出现在字符串的中间某处怎么办?这种情况会使循环立即中断

if char == string[-1]:

相反,使用 enumerate函数,像这样

for index, char in enumerate(input_string):
if index + 1 == len(input_string):
break

enumerate 将在每次迭代时给出当前索引和 iterable 中的实际项目。因此,您可以检查当前索引 + 1 是否等于字符串的长度,以确保您确实位于字符串的最后位置。

关于python - 如何查找字符是否是字符串中的最后一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28655172/

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