Изменить значение для указанного ключа в списке словарей - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть список json-объектов (словарей) ds_list

ds_list = [ { "status": "NEW" },  { "status": "UP_TO_DATE" }]

Мне нужно изменить атрибут каждого объекта.

Так вот мое решение:

if we_are_processing:
    result = list(map(lambda ds: ds.update({'status': 'PROCESSING'}) or ds, ds_list))

result = [ { "status": "PROCESSING" },  { "status": "PROCESSING" }]

Это работает, но мне это не очень нравится, в частности update() и or ds.

Что является более питонным (читабельным) способом его реализации?

1 Ответ

0 голосов
/ 26 апреля 2018

Pythonic способ использовать цикл for:

ds_list = [ { "status": "NEW" },  { "status": "UP_TO_DATE" }]

for item in ds_list:
    item['status'] = 'PENDING'

# [{'status': 'PENDING'}, {'status': 'PENDING'}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...