繁体   English   中英

反转文本并找到相同的单词-python

[英]Reversing a text and find same words - python

我必须在python中编写一些代码,该代码将从文本中读取所有单词,将它们反转,然后找出其中的哪些在正常格式和反向格式中相同。 到目前为止,我已经做到了:

filename=raw_input("enter the file name: ")
fop=open(filename)
for line in fop:
  words=line.split()
li=[]
li.extend(words)
size=len(li)
for i in range(0,size/2):
    li[i], li[size-1-i] = li[size-1-i], li[i]
`enter code here`''.join(li)

但这是行不通的,因为如果我给一个文本多行,它只会处理最后一行,而实际上似乎并没有颠倒任何内容。 请帮忙吗?

您可以执行以下操作,可以使用word == word[::-1]来检查word[::-1]是否为反向索引:

filename=raw_input("enter the file name: ")
with open(filename) as f :
    for line in f:
       for word in line.split() :
           if word == word[::-1]:
               print word

如果您只想打印一次回文词,则可以使用一组理解

print '\n'.join({w for w in open('file.txt).read().split() if w==w[::-1]})

请注意,我的答案不会过滤任何单个字母,标点符号等,换句话说,它取决于对单词的宽泛定义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM