【问题标题】:How to add key, value in nested dict(NodeDataView) from another list?如何从另一个列表中添加嵌套字典(NodeDataView)中的键、值?
【发布时间】:2021-11-12 22:32:39
【问题描述】:

我有一个生成颜色的列表

color = ['#245A37', '#61C05C', '#59022C', '#BBA72D', '#08458D']

和一个子图节点

sub_g.nodes(data=True)

输出

NodeDataView({1405394338: {}, 1354581834: {}, 1334448011: {}, 1367797753: {}, 1244950426: {}})

我正在尝试在空字典中添加一个新的键值对,color: item in color list

到目前为止,我尝试了以下类似的方法,

for u,d in sub_g.nodes(data=True):
    for i in color:
    
        d['color']=i

我无法并行循环列表和 dict 并附加键、值。

预期输出

NodeDataView({1405394338: {'color': '#245A37'}, 1354581834: {'color': '#61C05C'}, 
1334448011: {'color': '#59022C'}, 1367797753: {'color': '#BBA72D'}, 1244950426: {'color': '#08458D'}})

如何在另一个列表的嵌套字典中添加键、值?

【问题讨论】:

    标签: python list dictionary nested networkx


    【解决方案1】:

    您可以使用enumerate,如下所示:

    dct = {1405394338: {}, 1354581834: {}, 1334448011: {}, 1367797753: {}, 1244950426: {}}
    color = ['#245A37', '#61C05C', '#59022C', '#BBA72D', '#08458D']
    
    for idx, (k,v) in enumerate(dct.items()):
        dct[k] = {'color' : color[idx]}
        
    dct
    

    输出:

    {1405394338: {'color': '#245A37'},
     1354581834: {'color': '#61C05C'},
     1334448011: {'color': '#59022C'},
     1367797753: {'color': '#BBA72D'},
     1244950426: {'color': '#08458D'}}
    

    【讨论】:

    • 其实dict是网络图中的一个'NodeDataView'对象
    • 我们能从NodeDataView得到dict吗?
    • 是的,使用dict(sub_g) 。但我不知道将其转换回节点
    • @Pluviophile 可以发送这个函数的文件
    • @Pluviophile 可以为我发送此功能的文档链接sub_g.nodes(data=True) 然后我可以阅读文档并回答您....
    猜你喜欢
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多