Обновление элемента JSON в понимании списка Python - PullRequest
0 голосов
/ 04 ноября 2018

Попытка обновить / добавить элемент JSON с помощью оператора if / then в понимании списка python. Первая часть, в которой я устанавливаю ключ JSON 'first_seen', не выполняется. Есть идеи почему?

now = datetime.datetime.now().strftime("%B, %d, %Y")
[obj["last_seen"] = now for obj in ref_db if obj['user']==user else add_new(user, ext_source, source, first_seen, now)]

ошибка:

[obj["last_seen"] = now for obj in ref_db if obj['user']==user else add_new(user, ext_source, source, first_seen, now)]
                  ^
SyntaxError: invalid syntax

Я понимаю из ошибки, что мой синтаксис неправильный, но я не могу понять, почему он неправильный. Разве вы не можете использовать знак равенства (=) для понимания списка?

Спасибо за помощь.

1 Ответ

0 голосов
/ 04 ноября 2018

Списки-Понимания для создания списков. Вы просто хотите использовать цикл for:

now = datetime.datetime.now().strftime("%B, %d, %Y")
for obj in ref_db:
    if obj['user'] == user:
        obj["last_seen"] = now
    else:
        add_new(user, ext_source, source, first_seen, now)
...