[英]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.