我有兩個字典,我想根據以下條件映射它們:結果字典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()}
添加回答
舉報
0/150
提交
取消