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

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

如何在python中將嵌套列表排序?yàn)榫哂形ㄒ恢档膯为?dú)列表?

如何在python中將嵌套列表排序?yàn)榫哂形ㄒ恢档膯为?dú)列表?

我有兩個(gè)變量:unique_val = [1,2,3]nested_list = [['name1',1],['name2',1],['name3',3],['name4',2],['name5',2],['name6',3]]基本上,我希望每個(gè)唯一值都有單獨(dú)的名稱(chēng)列表。我努力拼湊了一組嵌套的for循環(huán),但無(wú)濟(jì)于事。理想情況下,輸出將是這樣的:list_1 = ['name1','name2']list_2 = ['name4','name5']list_3 = ['name3',name6']
查看完整描述

2 回答

?
慕神8447489

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

為其中的每個(gè)項(xiàng)目創(chuàng)建變量unique_val不是一個(gè)好主意。與其進(jìn)行硬編碼,不如將所有字典更好地與鍵配合使用,list_1因?yàn)樗梢蕴幚砣我鈹?shù)量的變量。


>>> from collections import defaultdict

>>> dic = defaultdict(list)

>>> nested_list = [['name1',1],['name2',1],['name3',3],['name4',2],['name5',2],['name6',3]]

>>> unique_val = [1,2,3]     #better make this a set to get O(1) lookup

>>> for v,k in nested_list:

        if k in unique_val:

            dic['list_'+str(k)].append(v)


#now access those lists:


>>> dic['list_1']

['name1', 'name2']

>>> dic['list_2']

['name4', 'name5']

>>> dic['list_3']

['name3', 'name6']

如果您有一個(gè)4,unique_val 那么您可能希望list_4成為一個(gè)空列表,這很容易由來(lái)處理defaultdict:


>>> dic['list_4']

[]


查看完整回答
反對(duì) 回復(fù) 2021-03-29
?
臨摹微笑

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

您可以使用列表理解:


[[name for name, number in nested_list if number == n] for n in unique_val]

如果您確實(shí)要將其放在單獨(dú)的變量中,則可以執(zhí)行以下操作。


list_1, list_2, list_3 = [[name for name, number in nested_list if number == n] for n in unique_val]


查看完整回答
反對(duì) 回復(fù) 2021-03-29
  • 2 回答
  • 0 關(guān)注
  • 181 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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