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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

比較 2 個列表并將值附加到新的字典列表

比較 2 個列表并將值附加到新的字典列表

有只小跳蛙 2023-03-08 13:58:36
我是 python 初學(xué)者,當(dāng)列表 v2 中的值等于字典 v1 列表的鍵時,試圖返回一個新的字典 v3 列表。字典 v3 的新列表應(yīng)該包含匹配的鍵和值。v1 = [    {"Key": "State", "Value": "UP"},    {"Key": "city", "Value": "bihar"},    {"Key": "Name", "Value": "Sam"},    {"Key": "Product", "Value": "cookies"},    {"Key": "id", "Value": "23"},    {"Key": "email", "Value": "enim@gmail.com"},]v2 = ["Name", "Product", "State", "Name"]v3 = []預(yù)期的輸出應(yīng)該是v3 = [    {"Key": "Name", "Value": "Sam"},    {"Key": "Product", "Value": "cookies"},    {"Key": "State", "Value": "UP"},    {"Key": "Name", "Value": "Sam"},]下面是我試過的代碼,但代碼不完整for bb in v1:    if bb['Key'] in v2:        v3.append({bb['Key']:bb['Value']})
查看完整描述

4 回答

?
牧羊人nacy

TA貢獻(xiàn)1862條經(jīng)驗 獲得超7個贊

您可以嘗試列表理解:

v3=[dc for val  in v2 for dc in v1 if val==dc['Key']]

輸出:

v3
[{'Key': 'Name', 'Value': 'Sam'}, {'Key': 'Product', 'Value': 'cookies'}, {'Key': 'State', 'Value': 'UP'}, {'Key': 'Name', 'Value': 'Sam'}]


查看完整回答
反對 回復(fù) 2023-03-08
?
呼啦一陣風(fēng)

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

對于預(yù)期的輸出,您需要反轉(zhuǎn)循環(huán)順序,首先循環(huán) v2 列表,然后檢查該鍵是否存在于 V1 中。


for v in v2:

    for d in v1:

      if d["Key"] == v:

         v3.append(d)       


查看完整回答
反對 回復(fù) 2023-03-08
?
九州編程

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

列表理解可能會有所幫助。

嘗試這個:

[i for i in v1 if i['Key'] in v2]

結(jié)果:

[{'Key': 'State', 'Value': 'UP'}, {'Key': 'Name', 'Value': 'Sam'}, {'Key': 'Product', 'Value': 'cookies'}]

說到預(yù)期的 v3,我不確定為什么{'Key': 'Name', 'Value': 'Sam'}當(dāng)該元素在 v1 中只出現(xiàn)一次時出現(xiàn)兩次。也許錯別字?

已編輯

[i for j in v2 for i in v1 if i['Key'] == j]

結(jié)果:

[{'Key': 'Name', 'Value': 'Sam'}, {'Key': 'Product', 'Value': 'cookies'}, {'Key': 'State', 'Value': 'UP'}, {'Key': 'Name', 'Value': 'Sam'}]


查看完整回答
反對 回復(fù) 2023-03-08
?
陪伴而非守候

TA貢獻(xiàn)1757條經(jīng)驗 獲得超8個贊

嘗試像下面這樣重構(gòu)你的第一個字典:


v1 = {'State': 'UP',

 'city': 'bihar',

'Name': 'Sam',

'Product': 'cookies',

 'id': '23',

 'email': 'enim@gmail.com'}

v2 = ['Name', 'Product', 'State','Name']

v3 = dict()


for x in v2:

    if x in v1:

        print({x: v1.get(x)})

        v3.update({x: v1.get(x)})

update 添加記錄或在鍵可用時更新記錄,{} 是另一種構(gòu)造字典的方式


來源: https: //docs.python.org/3/tutorial/datastructures.html


查看完整回答
反對 回復(fù) 2023-03-08
  • 4 回答
  • 0 關(guān)注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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