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

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

使用條件對python中的二維列表進(jìn)行排序

使用條件對python中的二維列表進(jìn)行排序

婷婷同學(xué)_ 2022-11-01 15:10:47
我有一個(gè)像這樣的二維列表:[     [abc, 5],     [abd, 21],     [abb, 10],     [abc, 3],     [abb, 15],     [abd, 20]     ]首先:我需要按字典順序?qū)α斜磉M(jìn)行排序(這很簡單)第二:如果第一列有多個(gè)相同的元素,則按照第二列(降序)對列表(只有相同的元素)進(jìn)行排序。所以,我想要這樣的結(jié)果:[     [abb, 15],     [abb, 10],     [abc, 5],     [abc, 3],     [abd, 21],     [abd, 20]     ]
查看完整描述

2 回答

?
回首憶惘然

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

Python 的排序函數(shù)是穩(wěn)定的,這意味著如果兩個(gè)元素比較相等,它們的相對位置不會(huì)改變。元素只有在比較不相等時(shí)才會(huì)切換位置。


此外,排序需要一個(gè)可選key參數(shù),該參數(shù)是一個(gè)確定排序應(yīng)該比較哪些值的函數(shù)。您可以為此定義一個(gè)完整的函數(shù),但如果您只打算使用一次,則通常定義一個(gè)簡短的 lambda 函數(shù)。


將它們放在一起,您可以先按列表的第二個(gè)元素對列表進(jìn)行排序,然后再按第一個(gè)元素對它們進(jìn)行第二次排序。第一次排序的相對位置將在第二次排序之后保持。


a = [

    ['abc', 5],

    ['abd', 21],

    ['abb', 10],

    ['abc', 3],

    ['abb', 15],

    ['abd', 20]

]


# Sort by second element first, in descending order

a = sorted(a, key=lambda x: x[1], reverse=True)  


# Then sort by first element, in ascending order

a = sorted(a, key=lambda x: x[0])  


print(a)  # [['abb', 15], ['abb', 10], ['abc', 5], ['abc', 3], ['abd', 21], ['abd', 20]]



查看完整回答
反對 回復(fù) 2022-11-01
?
縹緲止盈

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

查看完整回答
反對 回復(fù) 2022-11-01
  • 2 回答
  • 0 關(guān)注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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