Q
按值和鍵排序
-4
A
回答
1
校正。 list
不包含在key
,value
對中的值。 key
:value
對存在於字典中。下面是用於字典排序上的值,然後對鍵的代碼:
>>> d = {'apple': 2, 'banana': 3, 'almond':2 , 'beetroot': 3, 'peach': 4}
>>> sorted(d.iteritems(), key=lambda(k, v): (-v, k))
[('peach', 4), ('banana', 3), ('beetroot', 3), ('almond', 2), ('apple', 2)]
說明: d.iteritems()
返回iterator對象。在sorted(d.iteritems(), key=lambda(k, v): (-v, k))
,key=lambda(k, v): (-v, k)
意思是首先基於值的遞減順序,即-v
然後按升序排列,即k
。
同樣的邏輯適用於問題中提到的排序列表的代碼。
+0
我認爲OP需要一個解釋 - 而不是演示。 –
+0
更新的答案與解釋。 –
2
它按一對值排序列表。由於它正在對列表進行排序,因此不存在任何鍵值對,但是有更多的兩個值彼此相鄰。 它被寫入的方式按照相反的第二個值排序,然後按正常升序排序第一個值。
這證明:
l1 = [[2,2],[3,1],[1,2],[4,1]]
l1.sort(key=lambda(k,v):(-v,k))
l1
=> [[1, 2], [2, 2], [3, 1], [4, 1]]
相關問題
- 1. 按鍵和值排序字典?
- 2. 按值排序數組鍵
- 3. 按鍵值排序陣列
- 4. 蟒蛇按鍵排序字典和按另一個鍵排序
- 5. 按值和鍵排序哈希(按此順序)
- 6. 排序按值字典然後按鍵
- 7. 按鍵排序
- 8. Groovy:按值排序散列鍵值
- 9. 按鍵排序後按值對multimap進行排序
- 10. 按子詞典的值排序,然後按主鍵排序
- 11. 通過鍵和值的情況下,按鍵排序相等
- 12. C++設置如何按值排序集和按鍵搜索
- 13. 按鍵排序Cassandra
- 14. 按主鍵排序
- 15. 按地圖排序列表,使用鍵值和以後的值
- 16. 按值排序並正確打印鍵和值。 PYTHON
- 17. 如何按鍵排序地圖值?
- 18. 按鍵值對字典進行排序
- 19. PHP的foreach按鍵/值排序
- 20. 按鍵值對字典數組排序
- 21. 如何按鍵排序數組值?
- 22. 按鍵的值排序數組
- 23. 按數值排序的NSDictionary鍵
- 24. 按鍵排序JSON數據值
- 25. 按鍵值對數組排序
- 26. 如何按值排序字典的鍵?
- 27. 按價值排序2鍵哈希
- 28. 數組排序按關鍵字值
- 29. 按值排序字典然後鍵
- 30. 多維數組按鍵值排序PHP
那麼你的疑惑是什麼?你做了什麼來澄清它們?例如,你是否嘗試過在解釋器中測試它? – jonrsharpe
你想對'key'或'value'字典進行排序嗎? –
我想按值對列表進行排序,然後按鍵排序具有相同值的列表。我不明白的是-v,因爲我沒有這樣做過 - 我覺得列表只是按值排序的。 –