【发布时间】: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
我从错误中了解到我的语法是错误的,但我不知道为什么它是错误的。您不能在列表推导中使用等号 (=) 吗?
感谢您的帮助。
【问题讨论】:
-
目前还不清楚您期待什么结果。您是否希望
obj["last_seen"]成为结果列表? -
您需要在 for 循环中使用普通 if/else 语句而不是列表理解
-
请包含一个我们可以实际运行的minimal reproducible example。
标签: python json list-comprehension