使用单词的索引位置重建单词字符串



我压缩了一个文件,它给我的字符串中的每个唯一单词一个值(0,1,2,3等)

我现在有按出现顺序排列的数字列表,例如(0,1,2,1,3,4,5,2,2等)

使用数字和唯一单词列表有没有办法解压缩句子并获得我开始的原始句子?

我有一个包含以下内容的文本文件

[0,1,2,3,2,4,5,6,2,7,8,2,9,2,11,12,13,15,16,17,18,19] ["行","长","线","非常","很多","喜欢","为","我","爱","如何","amny","做","它","拿","到","制造","a","cricle..","大","问题"]

我的代码通过获取位置和唯一单词来压缩原始句子。

原句是"线条长线很线 amny 喜欢线我爱线 做一个 cricle 需要多少行">

现在我希望能够使用唯一单词列表和位置列表重建句子。我希望能够用任何句子来做到这一点,而不仅仅是这个例句。

要返回单词,您可以访问单词地图,并为每个数字在句子中添加一个单词。

numbers = [1, 2]
sentence = ""
words = {1: "hello", 2: "world"}
for number in numbers:
sentence += words[number] + " "
sentence = sentence[:-1] # removes last space

您可以使用字典或列表和理解str.join

words = ["I", "like", "boat", "sun", "forest", "dog"]
other_words = {0: "Okay", 1: "Example", 2: "...", 3: "$", 4:"*", 5: "/"}
sentence = (0,1,2,1,3,4,5,2,2)
print(" ".join(words[i] for i in sentence))
# I like boat like sun forest dog boat boat
print(" ".join(other_words[i] for i in sentence))
# Okay Example ... Example $ * / ... ...

最新更新