Эффективный способ удаления словаря из списка без упоминания ключей - PullRequest
0 голосов
/ 04 февраля 2019

Каков эффективный способ удаления словаря из списка словарей, если любое из значений в словаре пусто?

input = [{'mac': '', 'location': '801'}, 
         {'mac': 'E464EECBA5EB', 'location': '816'}, 
         {'mac': '', 'location': '817'}, 
         {'mac': 'DCE83F3BC820', 'location': '818'}, 
         {'mac': 'GH12TY674RF1', 'location': ''}, 
         {'mac': 'DCE83F3BC820', 'location': '820'}]


expected_output = [{'mac': 'E464EECBA5EB', 'location': '816'},
                   {'mac': 'DCE83F3BC820', 'location': '818'}, 
                   {'mac': 'DCE83F3BC820', 'location': '820'}]

1 Ответ

0 голосов
/ 04 февраля 2019

Вы можете использовать понимание списка:

input_list = [{'mac': '', 'location': '801'}, 
              {'mac': 'E464EECBA5EB', 'location': '816'}, 
              {'mac': '', 'location': '817'}, 
              {'mac': 'DCE83F3BC820', 'location': '818'}, 
              {'mac': 'GH12TY674RF1', 'location': ''}, 
              {'mac': 'DCE83F3BC820', 'location': '820'}]


expected_output = [d for d in input_list if all(d.values())]

Вывод:

[{'mac': 'E464EECBA5EB', 'location': '816'},
 {'mac': 'DCE83F3BC820', 'location': '818'},
 {'mac': 'DCE83F3BC820', 'location': '820'}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...