反转文本并找到相同的词 - 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

如果你只想打印一次回文词你可以使用set comprehension

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

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