练习题:
给定一个字符串列表,编写一个 Python 函数来返回一个新列表,其中包含回文且长度为偶数的字符串。
例如:
输入:
["radar", "level", "python", "noon", "racecar"]
输出:["noon", "racecar"]
编写一个名为
的函数,它将字符串列表作为输入,并返回一个仅包含偶数长度的回文字符串的新列表。even_length_palindromes
def is_palindrome(string):
if(string==string[::-1]):
return(string)
return()
def even_length_palindromes(string):
return(sample for sample in string if len(is_palindrome(sample))%2==0)
print(list(even_length_palindromes(["radar", "level", "python", "noon", "racecar"])))
生成的 qutput 是
['python', 'noon']
替换为 ['noon']
从
is_palindrome()
返回一个布尔值,顾名思义。然后分别测试长度是否均匀。
您还需要在
even_length_palindromes()
中使用列表理解,因为描述说它应该返回一个列表,而不是生成器。
def is_palindrome(string):
return string == string[::-1]
def even_length_palindromes(string_list):
return [sample for sample in string_list if len(sample) % 2 == 0 and is_palindrome(sample)]