首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何打印给定单词列表的回文( usinf FOR循环)?

如何打印给定单词列表的回文( usinf FOR循环)?
EN

Stack Overflow用户
提问于 2022-04-19 21:59:56
回答 2查看 70关注 0票数 -3

我在网上搜索相当长的时间,但我没有成功。我有一个单词清单:

代码语言:javascript
复制
words = ["kayak", "pas", "pes", "reviver", "caj", "osel", "racecar","bizon", "zubr", "madam"]

我只需要打印那些回文字。我找到了这个解决方案:

代码语言:javascript
复制
words = ["kayak", "pas", "pes", "reviver", "caj", "osel", "racecar","bizon", "zubr", "madam"]

palindrome = list(filter(lambda x: (x == "".join(reversed(x))), words))
print(palindrome)

但我不喜欢。我不得不以某种方式使用FOR循环,我不知道如何使用。我尝试了很多事情,但还是不明白。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-19 22:08:58

下面是一个有解释的例子:

代码语言:javascript
复制
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']
票数 1
EN

Stack Overflow用户

发布于 2022-04-19 22:08:04

使用for循环:

代码语言:javascript
复制
palindrome = []
for i in words:
    if i == "".join(reversed(i)):
        palindrome.append(i)
print(palindrome)

或清单理解:

代码语言:javascript
复制
palindrome = [i for i in words if i == "".join(reversed(i))]
print(palindrome)

输出:

代码语言:javascript
复制
['kayak', 'reviver', 'racecar', 'madam']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71931826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档