【问题标题】:Update JSON element in Python List Comprehension在 Python 列表理解中更新 JSON 元素
【发布时间】:2018-11-04 13:55:31
【问题描述】:

尝试使用 python 列表理解中的 if/then 语句更新/添加到 JSON 元素。我设置 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

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

感谢您的帮助。

【问题讨论】:

标签: python json list-comprehension


【解决方案1】:

List-Comprehensions 用于创建列表。您只想使用 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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    相关资源
    最近更新 更多