@SkiBY

Как оптимизировать преобразование списка словарей с заменой значений?

Есть список словарей вида:
[{'number':'BB22', 'am_sum':0...}, {'number':'BB23', 'am_sum':None...}, {'number':'BB24', 'am_sum':0...}, ...]
Соответственно, необходимо избавиться от None, заменив None на 0.
Решение вопроса в лоб:
def replace_none_to_zero_qs(qs):
    for item in qs:
        d_replaced = {}
        for key, value in item.iteritems():
            if value == None:
                d_replaced[key] = 0
            else:
                d_replaced[key] = value
         yield d_replaced
result = list(replace_none_to_zero_qs(orders))


Есть ли хорошо и давно сделанный невелосипед для подобных целей?
  • Вопрос задан
  • 209 просмотров
Решения вопроса 1
@766dt
Да тут вроде нет задачи для которой стоило бы даже велосипед писать
По сути да, просто проходить и заменять, но можно чуть упростить саму форму:
result = [{k: (v if v is not None else 0) for k, v in d.items()} for d in orders]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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