欢迎访问宙启技术站
智能推送

Python函数示例:如何判断字符串是否为回文?

发布时间:2023-08-13 23:05:20

判断一个字符串是否为回文,即判断字符串从左遍历和从右遍历是否得到相同的结果。以下是一种Python函数的示例,该函数可以判断字符串是否为回文。

def is_palindrome(s):
    # 过滤字符串中的非字母和非数字字符
    alphanumeric = [c.lower() for c in s if c.isalnum()]

    # 判断过滤后的字符串是否为回文
    return alphanumeric == alphanumeric[::-1]

这个函数的思路是先过滤掉字符串中的非字母和非数字字符,然后将过滤后的字符串存储在一个新的列表中。最后,比较该列表和反转后的列表是否完全相同,如果相同则说明字符串是回文。

以下是函数使用的示例:

# 测试字符串是否为回文
print(is_palindrome("level"))  # True
print(is_palindrome("A man, a plan, a canal, Panama"))  # True
print(is_palindrome("python"))  # False

在这个例子中, 个测试用例中的字符串 "level" 是一个回文,因此函数返回True。第二个测试用例中的字符串 "A man, a plan, a canal, Panama" 在忽略非字母和非数字字符时是回文,因此函数返回True。第三个测试用例中的字符串 "python" 不是回文,因此函数返回False。

这个函数使用了Python中的字符串方法 isalnum() 判断一个字符是否为字母或数字字符。此外,函数还使用了列表切片 [::-1] 来反转一个列表。