3 回答

TA貢獻(xiàn)1828條經(jīng)驗 獲得超3個贊
在密鑰中使用元組。通常認(rèn)為此方法比連續(xù)執(zhí)行兩種操作更“ Pythonic”。
key=lambda row: (searchdict.get(row[11], 5), row[other_column]))

TA貢獻(xiàn)1784條經(jīng)驗 獲得超8個贊
最好的選擇是將key與python的元組排序一起使用。
#rows contains my data that I'm sorting, it's a 2D array
searchdict = dict(Critical=1, High=2, Medium=3, Low=4)
rows.sort(key=lambda row: (searchdict.get(row[11], 5), searchdict.get(row[<secondary column index here>], 5)))
這是基于以下事實(shí):在比較中,元組中最左邊的元素被認(rèn)為是更重要的,在此處進(jìn)行了演示:
>>> (6, 5) > (5, 6)
True
>>> (6, 5) > (6, 4)
True
>>> (6, 5) > (6, 6)
False
>>> (2, 1, 1) > (1, 1000, 1000)
True

TA貢獻(xiàn)1829條經(jīng)驗 獲得超7個贊
使用元組作為排序鍵函數(shù)的返回值:
rows.sort(key=lambda row: (searchdict.get(row[11], 5), row[17]))
Python首先對索引為0的項目進(jìn)行排序,然后對索引為1的項目進(jìn)行排序。
添加回答
舉報