从索引单词列表中重新创建句子

时间:2017-01-23 14:44:21

标签: python

我在弄清楚如何重新创建句子时遇到了一些麻烦:

"相信我,相信你!"

(对于那些看过Gurren Lagann的人来说有点畏缩......)在使用我通过列举单词列表获得的索引时:

['相信','在','',' me','那','相信','你

这个列表是.split()和.lower()来删除前一段代码中的标点符号,这些代码用来制作单词列表文件和索引列表文件。 索引时,这些是列举形式的单词:

(1,'相信') (2,' in') (3,'') (4,' me') (5,'那') (6,'相信') (7,'你')

到目前为止,我一直在寻找一种对我的代码都没有用的解决方案。到目前为止,这是整个事情:

with open("Words list file 2.txt", 'r') as File:
    contain = File.read()
    contain = contain.replace("[", "")
    contain = contain.replace("]", "")
    contain = contain.replace(",", "")
    contain = contain.replace("'", "")
    contain = contain.split()
print("The orginal file reads:")#prints to tell the user the orginal file
print(contain)

for i in enumerate(contain, start = 1):
    print(i)

2 个答案:

答案 0 :(得分:2)

您可以使用join方法加入列表中的字符串:

my_list = ['believe', 'in', 'the', 'me', 'that', 'believes', 'you']
>>> ' '.join(my_list)
'believe in the me that believes you'
#                                ^ missing "in"

但是这会导致在"in"之后丢失"believes"的字符串。如果您希望根据前一个列表中的单词索引创建一个新字符串,您可以使用临时列表来存储索引,然后在生成器表达式上执行join

>>> temp_list = [0, 1, 2, 3, 4, 5, 1, 6]
>>> ' '.join(my_list[i] for i in temp_list)
'believe in the me that believes in you'

答案 1 :(得分:1)

' '.join(['believe', 'in', 'the', 'me', 'that', 'believes', 'you'])

从文件加载时,不确定原始文件包含什么或“包含”变量是什么。请表明。