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

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

Python 列表中字典的一個(gè)排序問題,如何按某個(gè)key的大小進(jìn)行排序?

Python 列表中字典的一個(gè)排序問題,如何按某個(gè)key的大小進(jìn)行排序?

慕虎7371278 2019-05-11 17:38:16
#有兩個(gè)列表如下a=[{'info1':'someinfo','date':1},{'info1':'someinfo','date':4},{'info1':'someinfo','date':7},{'info1':'someinfo','date':13}]b=[{'info1':'someinfo','date':3},{'info1':'someinfo','date':8}]#需要按照列表中的字典的date的大小,由小到大進(jìn)行排序#得到cc=[{'info1':'someinfo','date':1},{'info1':'someinfo','date':3},{'info1':'someinfo','date':4},{'info1':'someinfo','date':7},{'info1':'someinfo','date':8},{'info1':'someinfo','date':13}]a的順序?yàn)椋?、4、7、13b的順序?yàn)椋?、8排序后:c的順序?yàn)椋?、3、4、7、8、13需要按照列表中的字典的date的大小,由小到大進(jìn)行排序,python代碼怎么寫?有可能不止一個(gè)a,b,可能有數(shù)個(gè)列表需要這樣的排序,怎么寫?怎么排序比較快且代碼簡潔點(diǎn)?謝謝
查看完整描述

2 回答

?
GCT1015

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

a=[{'info1':'someinfo','date':1},{'info1':'someinfo','date':4},{'info1':'someinfo','date':7},{'info1':'someinfo','date':13}]
b=[{'info1':'someinfo','date':3},{'info1':'someinfo','date':8}]
new_dic,result=dict(),[]
#將date的值作為key構(gòu)建新的字典
fordina+b:
new_dic[d.get('date')]=d
#使用sorted()對(duì)新的字典排序,然后將需要的結(jié)果添加到列表中
fordinsorted(new_dic.items()):
result.append(d[1])
print(result)
功能實(shí)現(xiàn)了,不過這個(gè)時(shí)間復(fù)雜度...最簡單的辦法應(yīng)該是這樣,一行搞定:
print(sorted(a+b,key=lambdadic:dic['date']))
                            
查看完整回答
反對(duì) 回復(fù) 2019-05-11
?
慕尼黑8549860

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

不好意思。。。想起來怎么干了,平時(shí)排序用的少了。。
這個(gè)問題直接用sorted函數(shù)加上高階key函數(shù)就可以解決了,代碼挺簡潔的。。
all_bar=[]
a=[{'info1':'someinfo','date':1},{'info1':'someinfo','date':4},{'info1':'someinfo','date':7},{'info1':'someinfo','date':13}]
b=[{'info1':'someinfo','date':3},{'info1':'someinfo','date':8}]
c=[{'info1':'someinfo','date':1},{'info1':'someinfo','date':3},{'info1':'someinfo','date':4},{'info1':'someinfo','date':7},{'info1':'someinfo','date':8},{'info1':'someinfo','date':13}]
all_bar.extend(a)
all_bar.extend(b)
sorted(all_bar,key=lambdadic:dic['date'])
這樣無論原本的數(shù)據(jù)有幾個(gè),先進(jìn)行extend,最后再排序就可以了
效率不會(huì)太差
                            
查看完整回答
反對(duì) 回復(fù) 2019-05-11
  • 2 回答
  • 0 關(guān)注
  • 2286 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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