我在互聯網上搜索了很長時間,但我沒有成功。我有一個單詞串列:
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 回圈,但我不知道如何。我嘗試了很多東西,但仍然沒有得到它。
謝謝你。
uj5u.com熱心網友回復:
這是帶有解釋的示例:
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']
uj5u.com熱心網友回復:
使用 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://www.uj5u.com/ruanti/461274.html
