更新Python列表中的JSON元素
尝试使用python列表理解中的if/then语句更新/添加到JSON元素。我设置JSON键“first_seen”的第一部分失败了。你知道为什么吗更新Python列表中的JSON元素,python,json,list-comprehension,Python,Json,List Comprehension,尝试使用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)] 错
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
我从错误中理解我的语法是错误的,但我不明白为什么它是错误的。在列表中不能使用等号(=)吗
感谢您的帮助。列表理解用于创建列表。您只需要使用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)
列表理解用于创建列表。您只需要使用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)
不清楚你期望的结果是什么。您是否希望结果列表为
obj[“last_seen”]
?您需要在for循环中使用一个简单的if/else语句,而不是列表理解。请包含一个我们可以实际运行的语句。可能重复的语句不清楚您期望的结果。您是否希望结果列表为obj[“last_seen”]
?您需要在for循环中使用一个简单的if/else语句,而不是列表理解。请包含一个我们可以实际运行的。可能重复的