嗨,我是 python 新手,想根據每個元組中存在的數值對這些值進行排序
b={('shoe',0.98),('bag',0.67),('leather',0.77)}
我已嘗試將其更改為串列,但無法更改元組元素提前謝謝
uj5u.com熱心網友回復:
Python 集是無序的,因此您無法對它們進行排序。但是您可以使用該sorted函式對集合中的元素進行排序,并將選擇元組的第二項的 lambda(因為集合元素是元組并且您希望按元組的第二個元素進行排序)傳遞給key引數。這將回傳一個串列:
out = sorted(b, key=lambda x:x[1])
輸出:
[('bag', 0.67), ('leather', 0.77), ('shoe', 0.98)]
uj5u.com熱心網友回復:
或者你可以使用operator.itemgetter(也有attrgetter):
from operator import itemgetter
out = sorted(b, key=itemgetter(1))
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/427521.html
上一篇:Java11Stream對物件串列進行排序并基于排序添加序列
下一篇:按唯一名稱和最新日期排序
