更新Python列表理解中的JSON元素

时间:2018-11-04 13:55:31

标签: python json list-comprehension

尝试使用python列表理解中的if / then语句更新/添加到JSON元素。我设置JSON密钥“ first_seen”的第一部分失败。有什么想法吗?

undefined

错误是:

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)]

我从错误中了解到我的语法是错误的,但是我不知道为什么它是错误的。您不能在列表理解中使用等号(=)吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

列表推导用于创建列表。您只想使用一个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)