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

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

如何使用列表理解從另一個(gè)列表中獲取一些數(shù)據(jù)?

如何使用列表理解從另一個(gè)列表中獲取一些數(shù)據(jù)?

慕工程0101907 2022-07-12 09:55:40
您好,我有以下清單:a = [{'Hello':5, 'id':[{'cat':'billy', 'dog': 'Paul'}, {'cat':'bill', 'dog': 'Pau'}]},     {'Hello':1, 'id':[{'cat':'Harry', 'dog': 'Peter'}, {'cat':'Hary', 'dog': 'Pete'}]}]我想建立以下列表(使用列表推導(dǎo)):b = ['billy', 'bill', 'Hary', 'Harry']我嘗試了這些但沒(méi)有成功:[x for y in a for b in y['id'] for x in b][x for y in a for b in y['id'] for x in b['cat']]
查看完整描述

4 回答

?
白衣染霜花

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

如果要使用雙循環(huán):

[x['cat'] for y in a for x in y['id'] if type(x) is  dict]

你必須 :

  1. 將 a 列表中的值作為列表獲?。▽?duì)于 a 中的 y)

  2. 獲取 y 中的 'id'(對(duì)于 x in y['id'])

  3. 通過(guò)過(guò)濾字典跳過(guò)字符串“吃”(如果類型(x)是字典)

  4. 訪問(wèn)“貓”

如果你 dict x, 有多個(gè)值,你可以使用

[x.values() for y in a for x in y['id'] if type(x) is  dict]]


查看完整回答
反對(duì) 回復(fù) 2022-07-12
?
30秒到達(dá)戰(zhàn)場(chǎng)

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

您可以使用內(nèi)置函數(shù)itemgetter和 chain(來(lái)自 itertools 模塊)


from itertools import chain

from operator import itemgetter


list(map(itemgetter('cat'), chain(*map(itemgetter('id'), a))))

輸出:


['billy', 'bill', 'Harry', 'Hary']

或者您可以使用for內(nèi)部有 2 個(gè)循環(huán)的列表推導(dǎo),第一個(gè)迭代列表中的所有dict元素,第二個(gè)迭代最里面的列表并從鍵“cat”中獲取元素:


[i['cat'] for d in a for i in d['id']]


查看完整回答
反對(duì) 回復(fù) 2022-07-12
?
神不在的星期二

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

您可以為此使用以下列表理解:


>>> a = [{'Hello':5, 'id':[{'cat':'billy', 'dog': 'Paul'}, {'cat':'bill', 'dog': 'Pau'}]},

     {'Hello':1, 'id':[{'cat':'Harry', 'dog': 'Peter'}, {'cat':'Hary', 'dog': 'Pete'}]}]


>>> [y['cat'] for x in a for y in x['id']]

['billy', 'bill', 'Harry', 'Hary']


查看完整回答
反對(duì) 回復(fù) 2022-07-12
?
慕尼黑5688855

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

你要


b = [x['id'][0]['cat'] for x in a]

的每個(gè)元素a都是一個(gè)看起來(lái)像


{

    'Hello': ...,

    'id': [

        {

            'cat': ...

        },

        ...

    ]

}


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

添加回答

舉報(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)