我有包含单词对的列表列表,并想在 id 上描述单词。Id 应该从 0 到 len(set(words))。该列表现在看起来像这样:
[['pluripotent', 'Scharte'],
['Halswirbel', 'präventiv'],
['Kleiber', 'Blauspecht'],
['Kleiber', 'Scheidung'],
['Nillenlutscher', 'Salzstangenlecker']]
结果应该具有相同的格式,但使用 id 代替。例如:
[[0, 1],
[2, 3],
[4, 5],
[4, 6],
[7, 8]]
到目前为止,我有这个,但它没有给我正确的输出:
def words_to_ids(labels):
vocabulary = []
word_to_id = {}
ids = []
for word1,word2 in labels:
vocabulary.append(word1)
vocabulary.append(word2)
for i, word in enumerate(vocabulary):
word_to_id [word] = i
for word1,word2 in labels:
ids.append([word_to_id [word1], word_to_id [word1]])
print(ids)
输出:
[[0, 0], [2, 2], [6, 6], [6, 6], [8, 8]]
它在有唯一词的地方重复 id。
富国沪深
相关分类