如何创建以word_list唯一单词为键、后续单词列表为值的Python字典?
如何创建记录单词后续词的字典
嘿,这事儿其实挺简单的,用Python几行代码就能搞定!我给你一步步拆解:
核心思路
我们要遍历word_list里的每一个单词(除了最后一个,因为它没有后续词),把每个单词作为键,然后把它紧跟的下一个单词添加到对应键的列表里。如果某个单词第一次出现,就先给它创建一个空列表,再往里加后续词。
代码实现
# 先定义你的单词列表,比如这个例子 word_list = ["apple", "pie", "apple", "cake", "pie", "ice cream", "cake", "syrup"] # 初始化空字典 food_dictionary = {} # 遍历列表,注意要停在倒数第二个元素(因为最后一个没有下一个词) for i in range(len(word_list) - 1): current_word = word_list[i] next_word = word_list[i + 1] # 如果当前单词还没在字典里,先创建一个空列表 if current_word not in food_dictionary: food_dictionary[current_word] = [] # 把后续词添加到对应的列表中 food_dictionary[current_word].append(next_word) # 看看结果 print(food_dictionary)
运行结果
上面的代码运行后,输出会是:
{ 'apple': ['pie', 'cake'], 'pie': ['apple', 'ice cream'], 'cake': ['syrup'] }
额外说明
- 如果你的需求是后续词不重复(比如同一个后续词只保留一次),可以把列表改成集合,最后再转成列表:
if current_word not in food_dictionary: food_dictionary[current_word] = set() food_dictionary[current_word].add(next_word) # 最后如果需要转成列表的话 for key in food_dictionary: food_dictionary[key] = list(food_dictionary[key]) - 这个方法效率很高,遍历一次列表就完成了,时间复杂度是O(n),n是
word_list的长度。
内容的提问来源于stack exchange,提问作者berkshire
相关产品推荐
相关产品推荐

