Python-将字典列表拆分为单个字典

时间:2018-06-24 21:56:31

标签: python list dictionary network-analysis

我正在使用HITS算法进行社交网络分析。该算法的使用产生两种不同的度量:集线分数和授权分数。会根据这些指标生成一个包含两个字典的列表,其中一个字典的索引为0,另一个字典的索引为1。

如何删除总体列表以获取两个单独的词典?代码和输出如下:

G = nx.read_weighted_edgelist('data.csv', create_using=nx.DiGraph())
HITS_scores = list(nx.hits(G))

Output:
List = Index     Type      Value
       0         dict      {'node1': 0.023, 'node3': 0.017.....'node17': 0.045}
       1         dict      {'node2': 0.042, 'node4': 0.002.....'node16': 0.032}

Desired Output:
hub_score =      dict      {'node1': 0.023, 'node3': 0.017.....'node17': 0.045}
auth_score =     dict      {'node2': 0.042, 'node4': 0.002.....'node16': 0.032}

任何帮助将不胜感激。

我尝试寻找答案的PS,但是却找不到解决方法

3 个答案:

答案 0 :(得分:5)

您可以通过分配目标列表来打开可迭代对象的包装,像这样

hub_score, auth_score = nx.hits(G)

答案 1 :(得分:2)

怎么样:

hub_score = HITS_scores[0]
auth_score = HITS_scores[1]

您最好不要首先通过编写list(nx.hits(G))来生成列表,而是以其他方式处理数据。

答案 2 :(得分:2)

提供的答案应该可以解决问题。但是,如果您停留在列表中,则可以拉出各个dict条目并按以下方式分配它们:

hub_score = HITS_scores[0]
auth_score = HITS_scores[1]