在Python3中检查作为回文的字符串列表

2024-05-23 15:09:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在检查一个字符串列表,看看列表中的每个字符串是否都是回文的。 我需要一个for循环来测试列表中所有字符串的函数。在

l=[“安娜”, “公民”, “计算机” ]在

首先,我写一个代码如下:

def is_it_palindrome(list):
for x in list:
    if x.upper() == x[::-1].upper():
        return True
    else:
        return False

当我运行这段代码时,它只返回一个True。不是真是假 然后我更改代码:

^{pr2}$

它起作用了。但是,有谁能告诉我为什么第一个不起作用,第二个是真是假。 谢谢您。在


Tags: 函数字符串代码true列表forreturnis
1条回答
网友
1楼 · 发布于 2024-05-23 15:09:48

第一个def不起作用的原因是因为使用了return使函数返回值并停止循环。
我建议您按如下方式使用map内置函数,只需注意它可以用更好的方式编写

str_list =["Anna", "Civic", "Computer" ]

def is_it_palindrome(word):
    return word.upper() == word[::-1].upper()

list(map(is_it_palindrome, str_list))

编辑- 这也可以用lmbda函数编写,这是一种更具python风格的方法,但我有时会混淆它。在

^{pr2}$

相关问题 更多 >