程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了初始化和递增嵌套字典 python大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决初始化和递增嵌套字典 python?

开发过程中遇到初始化和递增嵌套字典 python的问题如何解决?下面主要结合日常开发的经验,给出你关于初始化和递增嵌套字典 python的解决方法建议,希望对你解决初始化和递增嵌套字典 python有所启发或帮助;

如果有人在其他地方问过这个问题,我很抱歉,但我一整天都在尝试和谷歌搜索以解决这个问题,但无济于事。

我希望初始化一个空字典:

empty_Dict = {}

然后,我从 csv 文件中取出行,保存到一个变量中,比如说 saved_word_List。在此 saved_word_List 中是 csv 文件中包含句子的行。行中的每个句子都标识为 AB。我想要做的是用句子中的每个唯一单词填充 empty_Dict,以便每个单词每行只计算一次并添加到字典的正确嵌套部分。

例:

row_1 = {"this is a fine day to do a lot of Coding"}

这一行将被标记为 A,因此我们的列表将更改为:

empty_Dict = {'this':{'A':1,'B':0},'is':{'A':1,'a':{'A':1,'B':0}.....}

所以,下面是我所拥有的,但我想了解如何达到上面一行的目标。我有什么想法可以达到这一点吗?

for (sentence,label) in zip(saved_word_List,labels):
    keys = set(labels)
    values = set(sentence.split())
    for key in keys:
      for value in values:
        if value not in empty_Dict:
          empty_Dict[value][key] = value
        else:
          empty_Dict[value][key] += 1

解决方法

这应该完全符合您的要求。

def template_inner_Dict():
    """
    Creates an template Dictionary with the row labels as keys
    and 0 as values
    """
    return {i: 0 for i in labels}


empty_Dict = {}
for (sentence,label) in zip(saved_word_list,labels):
    tokens = set(sentence.split())
    for token in tokens:
        # insert a template Dict for the value not present in the Dict
        if token not in empty_Dict:
            empty_Dict[token] = template_inner_Dict()
        # increment the label count associated with token by 1
        empty_Dict[token][label] += 1

大佬总结

以上是大佬教程为你收集整理的初始化和递增嵌套字典 python全部内容,希望文章能够帮你解决初始化和递增嵌套字典 python所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: