2017-10-22 77 views
1

我有一本字典,看起來像:如何排序一個字典(有對象的值)的值

{1228548: Person(1228548, 'Xantippe', 42.00, 1.10, 96, 56554), 1456010: Person(1456010, 'Mirabelle', 65.00, 2.16, 83, 67906), 1527181: Person(1527181, 'Betteanne', 81.00, 2.09, 43, 62790)... 

,我想從最低到最高這是在步數的條件來排序這些值56554,67906和62790 ...在每個人物品的末尾,我將如何去做這件事?

+0

的可能的複製[如何排序字典值?](https://stackoverflow.com/questions/613183/how-to-sort-a-dictionary-by-value)在那裏最多的答案微不足道的修改。 – jpmc26

回答

1

,而不是迭代的人(未分類)字典:

for id_num, person in people.items(): 

可以遍歷通過的步數命令鍵:

for id_num in sorted(people, key=lambda x: x.total_steps): 
    p = person_dict[id_num] 
    #... 
+0

不應該是'key = lambda x:x.total_steps'? –

+0

@HaleemurAli oops ...謝謝你的好成績! – alfasin

+0

你的排序錯誤,因爲鍵('int')不會有'total_steps'的屬性。除此之外,這個問題是重複的。如果OP無法弄清楚如何適應愚蠢的答案(添加屬性訪問的一個簡單步驟),他們不會從你的答案中學到任何東西,而且你正在喂幫助吸血鬼。 – jpmc26