我有一个列表,例如['hello',', ','how','are','you','?']
我希望它成为"hello, how are you?"
无论如何这样做?
我还应该注意,我正在使用代码
从文本文档中打开它 with gzip.open('task3.txt.gz', 'r+') as f:
reconstruct = f.readline()
reconstruct2 = f.readline()
reconstruct3 = f.readline()
reconstruct4 = f.readline()
f.close()
所以我的列表以b'["hello", ",", "how", "are", "you", "?"]\n'
出现,这与我用新行保存它们的事实有关吗?
答案 0 :(得分:1)
您实际上可以正确将令牌列表重新标记,然后将nltk
's moses
detokenizer(目前在nltk
主干中可用 - 尚未发布)放入句子中:
In [1]: from nltk.tokenize.moses import MosesDetokenizer
In [2]: l = ['hello', ', ', 'how', 'are', 'you', '?']
In [3]: detokenizer = MosesDetokenizer()
In [4]: detokenizer.detokenize(l, return_str=True)
Out[4]: u'hello, how are you?'
答案 1 :(得分:0)
我相信,您正在寻找加入():
>>> a = ['hello',', ','how','are','you','?']
>>> " ".join(a)
'hello , how are you ?'
请注意,引号的内容将插入到您的单词之间。所以你需要决定,如果你想使用" " (这将在"你"和"?",例如)或""之间插入空格。 - 但是在每个单词的末尾插入空格(你的数组看起来应该是这样的:['你好',',','怎么',&# 39;是','你','?'])