我试图做的一件事是查找反向的单词,它们大于或等于5个字符,对于下面的代码,我会查找回文和任何反向相同的单词
然而,我不知道如何找到“达蒙”或“游牧者”
我曾尝试使用sorted()
来获取字谜,但无法实现它
import sys
word = []
backword = []
def main():
for lines in sys.stdin:
word.append(lines.strip())
for element in word:
if len(element.lower()) >= 5 and element.lower() == element[::-1].lower():
backword.append(element)
print(backword)
if __name__ == '__main__':
main()
编辑-谢谢你的解决方案,我必须找到另一种快速完成的方法
使用您提供的结构,这将起作用:
如果我理解正确,那么你在列表中查找与列表中另一个单词相反的单词?在这种情况下,你有几个选择
案例1:您可以预先计算反转字符列表,如下所示:
制作地图也可能更快:
案例2:您可以按如下方式每次反转并检查:
如果您已将未过滤掉的单词大写:
在
word
中使用混合大小写的情况下,您应该使用情况1,因为您可以预计算这两个值,并且由于存在适当的条件而降低了复杂性相关问题 更多 >
编程相关推荐