反转文本并找到相同的词 - 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]})
请注意,我的回答不会过滤掉任何单个字母、标点符号等,换句话说,它取决于对单词的宽泛定义。
我必须在 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]})
请注意,我的回答不会过滤掉任何单个字母、标点符号等,换句话说,它取决于对单词的宽泛定义。