python: override a single dict key based on a separate dict
本问题已经有最佳答案,请猛点这里访问。
我敢肯定这里有这样的问题,但我似乎找不到。我有一本叫
| 1 | query = {'day': 0, 'item': 'Chipotle'} | 
以及映射字典:
| 1 | day_mapping = {0:2, 1:3, 2:4, 3:5, 4:6, 5:7, 6:1} | 
我需要重写
| 1 | query = {'day': 2, 'item': 'Chipotle'} | 
注:
| 1 | query = {'item': 'Chipotle'} | 
这是我到目前为止想出来的,但必须有更好的方法来使用列表理解或其他东西:
| 1 2 3 | for k, v in query.items(): if k == 'day': query[k] = day_mapping[v] | 
原因是,对于python的
   是的
| 1 2 3 4 | try: query['day'] = day_mapping[query['day']] except KeyError: pass | 
   你可以使用
| 1 2 3 4 5 6 | query = {'day': 0, 'item': 'Chipotle'} day_mapping = {0:2, 1:3, 2:4, 3:5, 4:6, 5:7, 6:1} day = query.get('day') # returns `None` if 'day' key not found in `dict` if day is not None: query['day'] = day_mapping[day] | 
   更新的值
| 1 | {'day': 2, 'item': 'Chipotle'} |