Skip to main content
 首页 » 编程设计

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

2025年05月04日2698°冷暖

如何有效地检查 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 是否等于字符串的长度,以确保您确实位于字符串的最后位置。