我在网上搜索相当长的时间,但我没有成功。我有一个单词清单:
words = ["kayak", "pas", "pes", "reviver", "caj", "osel", "racecar","bizon", "zubr", "madam"]我只需要打印那些回文字。我找到了这个解决方案:
words = ["kayak", "pas", "pes", "reviver", "caj", "osel", "racecar","bizon", "zubr", "madam"]
palindrome = list(filter(lambda x: (x == "".join(reversed(x))), words))
print(palindrome)但我不喜欢。我不得不以某种方式使用FOR循环,我不知道如何使用。我尝试了很多事情,但还是不明白。
谢谢。
发布于 2022-04-19 22:08:58
下面是一个有解释的例子:
words = ['kayak', 'pas', 'pes', 'reviver', 'caj', 'osel', 'racecar','bizon', 'zubr', 'madam']
# Start with empty list
palindromes = []
# Iterate over each word
for word in words:
# Check if word is equal to same word in reverse order
is_palindrome = (word == word[::-1])
# Append to results if needed
if is_palindrome:
palindromes.append(word)
print(palindromes)
# => ['kayak', 'reviver', 'racecar', 'madam']发布于 2022-04-19 22:08:04
使用for循环:
palindrome = []
for i in words:
if i == "".join(reversed(i)):
palindrome.append(i)
print(palindrome)或清单理解:
palindrome = [i for i in words if i == "".join(reversed(i))]
print(palindrome)输出:
['kayak', 'reviver', 'racecar', 'madam']https://stackoverflow.com/questions/71931826
复制相似问题