Pythonic способ установки всех других значений ключа на 0, кроме первого значения

У меня есть вложенный словарь:

nested_dict = { 
               19376: {
                      'key1': 'SAL/2018/4207', 
                      'premium_due_amount': 1162239.98,
                      }, 
               19377: {'key1': 'SAL/2018/4207', 
                       'premium_due_amount': 1162239.98,
                      }, 
               19378: {
                       'key1': 'SAL/2018/4207', 
                       'premium_due_amount': 1162239.98,
                      } 
              }

Здесь В каждом словаре у меня есть key1 и premium_due_amount .

Поскольку key1 уже задан в первом словаре, я хочу изменить значения всех других premium_due_amount , кроме первого, на 0.

Ожидаемый результат

nested_dict = { 
               19376: {
                      'key1': 'SAL/2018/4207', 
                      'premium_due_amount': 1162239.98,
                      }, 
               19377: {'key1': 'SAL/2018/4207', 
                       'premium_due_amount': 0,
                      }, 
               19378: {
                       'key1': 'SAL/2018/4207', 
                       'premium_due_amount': 0,
                      } 
              }

Текущее решение:

key1_list = [] 
for key, vals in nested_dict.items(): 
   if vals['key1'] in key1_list: 
       vals.update({'premium_due_amount': 0}) 
   key1_list.append(vals['key1'])

Пожалуйста, предложите более простой и питонский способ сделать это.

4 голоса | спросил PROTOCOL 12 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 12 Sep 2018 09:40:53 +0300 2018, 09:40:53

1 ответ


0
IIUC, вы хотите установить каждое значение на 0, кроме тех, которые принадлежат наименьшему ключу.Это должно работать на любом python3.x, поскольку ---- +: = 0 =: + ---- возвращает объект, подобный множеству, с которым вы можете выполнять операции над множествами.
ответил coldspeed 12 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 12 Sep 2018 09:47:22 +0300 2018, 09:47:22

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132