Python - 将字典列表拆分为单独的字典

Python - split a list of dicts into individual dicts

我正在使用 HITS 算法进行社交网络分析。该算法的使用产生了两种不同的度量:hub-score 和 authority-score。生成一个列表,其中包含基于这些指标的两个字典,一个字典的索引为 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 我尝试寻找答案,但一直找不到解决方案

您可以通过对目标列表的赋值来解压可迭代对象,就像这样

hub_score, auth_score = nx.hits(G)

怎么样:

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

?

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

gilch 提供的答案应该可以解决问题。然而,如果你被一个列表困住了,你可以拉出单独的字典条目并像这样分配它们:

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