Python二进制字典格式
为了上学,我必须制作一本字典,其中包含文本文件中连续单词的信息 对于文件中的每个单词,我必须输入单词(键)和匹配值,匹配值由可以跟随键的单词列表组成 例如,以下句子: “我想你认为他会觉得很漂亮” 提供以下输出:Python二进制字典格式,python,dictionary,Python,Dictionary,为了上学,我必须制作一本字典,其中包含文本文件中连续单词的信息 对于文件中的每个单词,我必须输入单词(键)和匹配值,匹配值由可以跟随键的单词列表组成 例如,以下句子: “我想你认为他会觉得很漂亮” 提供以下输出: {'': ['I'], 'I': ['think'], 'it': ['pretty.'] (...) 'think': ['you', 'he', 'it'], 'he': ['will']} 正如您所看到的,第一个条目“有点奇怪,但它是有意的。我必须在代码中明确输入,值是只包含文
{'': ['I'], 'I': ['think'], 'it': ['pretty.'] (...) 'think': ['you', 'he', 'it'], 'he': ['will']}
正如您所看到的,第一个条目“
有点奇怪,但它是有意的。我必须在代码中明确输入,值是只包含文本第一个单词的列表。
显然,没有哪个条目的“漂亮”是关键
我不太擅长编程,而且我已经坚持了一天多,这几乎是我的全部:
def fill_up_dict(words):
style_dict = {}
prev_word = '' #empty string
for word in words
style_dict[prev_word]
#at a total loss here
return style_dict
也许你可以看到,但我正在尝试创建一个包含所有单词的关键字列表,然后将这些值赋给它们之前的单词。但无论我做什么,它都毫无用处。要修改您的方法:
def fill_up_dict(words):
style_dict = {}
prev_word = '' #empty string
for word in words
if prev_word not in style_dict:
style_dict[prev_word] = []
style_dict[prev_word].append(word)
prev_word = word
return style_dict
请注意,您需要在style_dict
中创建列表以添加单词,并且需要在每次迭代中更新prev_单词
但是,处理连续单词的最简单方法是:
请注意,您可以使用以下方法稍微简化:
def fill_up_dict(words):
style_dict = {"": [words[0]]}
for word1, word2 in zip(words, words[1:]):
if word1 not in style_dict:
style_dict[word1] = []
style_dict[word1].append(word2)
return style_dict
from collections import defaultdict
def fill_up_dict(words):
style_dict = defaultdict(list)
style_dict[""] = [words[0]]
for word1, word2 in zip(words, words[1:]):
style_dict[word1].append(word2)
return style_dict