簡體   English   中英

從元組訪問字典的值

[英]accessing the value of a dictionary from a tuple

我正在使用 networkx,我需要根據權重的值對邊緣進行排序。 邊緣以元組列表的形式出現,權重作為字典,元組的第三個元素:

G.edges = [(u, v, {'weight' = value})]  

我正在嘗試使用

sorted(G.edges(data = True), key= lambda x: x[2].values())

但我收到錯誤:

TypeError: '<' not supported between instances of 'dict_values' and 'dict_values'.  

你能幫我解決這個問題嗎?
謝謝

我認為您想要實際值而不是所有 dict_values。

sorted(G.edges(data = True), key=lambda x: x[2].get("weight", 0))

get的第二個參數的相關性是,默認情況下dict.get為字典中不存在的鍵返回None ,因此您可能會冒(可能)引發使用 NoneType 索引的異常。 在這些情況下,這只是將權重排序值設置為 0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM