第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Sorted() 方法在 lambda 中使用元組,但方向不同(升序、降序)

Sorted() 方法在 lambda 中使用元組,但方向不同(升序、降序)

慕工程0101907 2023-12-05 15:03:38
例如我有一本字典:a = {'B': 2674, 'C': 2000, 'A': 2674}我需要按值降序?qū)λM(jìn)行排序。但是,當(dāng)值相等時(shí),則按鍵按字母順序升序。輸出帶有鍵的列表。b = sorted(a, key=lambda d: (d[1], d[0]))有沒(méi)有辦法單獨(dú)設(shè)置反向?
查看完整描述

2 回答

?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊

對(duì)于數(shù)值,您可以使用 key 函數(shù)通過(guò)簡(jiǎn)單地對(duì)值取反來(lái)實(shí)現(xiàn)這兩個(gè)排序標(biāo)準(zhǔn)。然后使用推導(dǎo)式僅提取鍵:

b = [k for k, _ in sorted(a.items(), key=lambda i: (-i[1], i[0]))]
# ['A', 'B', 'C']


查看完整回答
反對(duì) 回復(fù) 2023-12-05
?
智慧大石

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊

來(lái)自文檔

s?=?sorted(a,?key=lambda?d:?d[1])?#?sort?on?secondary?key
sorted(s,?key=lambda?d:?d[0],?reverse=True)?#?now?sort?on?primary?key,?descending

這就是它本來(lái)應(yīng)該做的方式

Python 中使用的 Timsort 算法可以有效地進(jìn)行多種排序,因?yàn)樗梢岳脭?shù)據(jù)集中已經(jīng)存在的任何排序。


查看完整回答
反對(duì) 回復(fù) 2023-12-05
  • 2 回答
  • 0 關(guān)注
  • 220 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)