如何使用 FOR 循环打印给定单词列表的回文?

How to print palindroms of given list of words usinf FOR LOOP?

我在互联网上搜索了很长时间,但没有成功。我有一个单词列表:

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 循环,但我不知道如何使用。我尝试了很多东西,但还是不明白。

谢谢。

使用 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']

下面是带有解释的示例:

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']