[英]Python - split a list of dicts into individual dicts
我正在使用HITS算法進行社交網絡分析。 該算法的使用產生兩種不同的度量:集線器得分和權威得分。 生成一個包含兩個基於這些度量的字典的列表,其中一個字典的索引為0,另一個字典的索引為0。
如何刪除總體列表以獲取兩個單獨的詞典? 代碼和輸出如下:
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應該做的伎倆。 但是,如果您遇到列表,則可以拉出單個dict條目並將其分配如下:
hub_score = HITS_scores[0]
auth_score = HITS_scores[1]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.