比较 python 中字符串的第一个和最后一个字符

Comparing the first and last character of a string in python

first_and_last 函数 returns 如果字符串的第一个字母与字符串的最后一个字母相同则为真,如果它们不同则为假,通过使用 message[0] 访问字符或消息[-1]。在检查空字符串的条件时出现错误:

Error on line 2:
    if message[0] == message[1] :
IndexError: string index out of range

我不明白为什么会出现此错误。 下面是我的代码:

 def first_and_last(message):
        if message[0] == message[-1] or len(message) == 0:
            return True
     
        else:
            return False
    
    print(first_and_last("else"))
    print(first_and_last("tree"))
    print(first_and_last("")) 

or 停止计算第一个真值操作数的操作数。因此,您必须首先检查消息长度,以避免对空字符串进行索引访问:

def first_and_last(message):
    if len(message) == 0 or message[0] == message[-1]:
        return True
    return False

或更短:

def first_and_last(message):
    return not message or message[0] == message[-1]