亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Python 中字典之間的映射

Python 中字典之間的映射

千巷貓影 2023-08-08 09:57:35
我有兩個字典,我想根據以下條件映射它們:結果字典map_result應包含resp_dict中的所有項目,但應從map_dict中選取鍵,以防resp_dict的鍵與map_dict中的值匹配。如果 resp_dict 中的鍵在 map_dict 中不存在,則該鍵、值必須傳遞給 map_result(結果字典)。如果 map_dict 中存在任何項目但 resp_dict 中不存在,則完全忽略它。下面是我正在尋找的示例 -resp_dict = {'name': "Rodney",             'prop_9986': "http://rodrnylynch.com",             'prop_7635': "7164084552",             'status': "Active",             'prop_5346': "pkunch"}map_dict = {'user_name': "name",            'self_website': "prop_9986",            'account_number': "prop_7635",            'page_name': "profile_page"}map_result = {'user_name': "Rodney",              'self_website': "http://rodrnylynch.com",              'account_number': "7164084552",              'status': "Active",              'prop_5346': "pkunch"}我嘗試了類似下面的方法,基本上滿足上面提到的條件1和3,但不滿足第二個條件。map_result = dict((k, resp_dict[map_dict[k]]) for k in map_dict if map_dict[k] in resp_dict)>>> map_result{'self_website': 'http://rodrnylynch.com', 'user_name': 'Rodney', 'account_number': '7164084552'}有人可以幫助我找到實現這一目標的最佳方法嗎?
查看完整描述

1 回答

?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

準備反向名稱查找:

name = {v: k for k, v in map_dict.items()}

然后使用它:

map_result = {name.get(k, k): v for k, v in resp_dict.items()}


查看完整回答
反對 回復 2023-08-08
  • 1 回答
  • 0 關注
  • 89 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號