当前位置:  开发笔记 > 编程语言 > 正文

Python中的嵌套Defaultdicts

如何解决《Python中的嵌套Defaultdicts》经验,为你挑选了1个好方法。

我在嵌套的defaultdict中更新列表时遇到问题.

这是我的代码:

a = ['20160115',    'shadyside medical building',   1, 'Review']
b = ['20160115',    'shadyside medical building',   1, 'Video']
c = ['20160215',    'shadyside medical building',   1, 'Video']
d = ['20160215',    'medical building',             1, 'Video']
f = [a,b,c,d]

nested_dict = defaultdict(dict)

for date,keyword,pos,feature in f:
    nested_dict[keyword].update({feature : [pos]})
    nested_dict[keyword].update({feature : [pos]})

这是输出:

{'shadyside medical building': 
                             {'Review': [1], 
                             'Video': [1]}, 
'medical building': 
                   {'Video': [1]}}

所需的输出是:

{'shadyside medical building': 
                             {'Review': [1], 
                             'Video': [1,1]}, 
'medical building': 
                   {'Video': [1]}}

请注意,视频的第二项已添加到视频列表中.



1> Ry-..:

你没有嵌套任何defaultdicts,所以这样做:

nested_dict = defaultdict(lambda: defaultdict(list))

nested_dict[keyword][feature].append(pos)

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有