詞典列表的列表我有一個對象,它是字典的名單列表:排序在python
myObject =[[{ "play": 5.00, "id": 1, "uid": "abc" }, \
{ "play": 1.00, "id": 2, "uid": "def" }], \
[{ "play": 6.00, "id": 3, "uid": "ghi" }, \
{ "play": 7.00, "id": 4, "uid": "jkl" }], \
[{ "play": 3.00, "id": 5, "uid": "mno" }, \
{ "play": 1.00, "id": 6, "uid": "pqr" }]]
我想排序play
值的每個字典嵌套的總和名單名單。然後,對象將被排序是這樣的:
myObject =[[{ "play": 6.00, "id": 3, "uid": "ghi" }, \
{ "play": 7.00, "id": 4, "uid": "jkl" }], \
[{ "play": 5.00, "id": 1, "uid": "abc" }, \
{ "play": 1.00, "id": 2, "uid": "def" }], \
[{ "play": 3.00, "id": 5, "uid": "mno" }, \
{ "play": 1.00, "id": 6, "uid": "pqr" }]]
如果它只是一個類型的字典的名單,然後:
sorted(myObject, key=sum(map(itemgetter(play))), reverse=True)
會工作。我無法弄清楚如何做到這一點,沒有循環在列表中,計算總和,然後排序。這就是我現在正在做的,但我試圖通過刪除循環來提高此代碼的效率,因爲我的列表中有100多個列表。
正如一個註釋:在這種情況下,你不需要尾隨的'''''續行。由於行以逗號結尾,列表文字仍然「打開」,Python會自動期待下一行繼續。 – poke