我正在制作一个相当简单的脚本,用于监控和存档给定的用户推文 - 现在,我的配置每五分钟请求一个帐户的20条最新推文(API限制),然后检查以查看哪些是new,并将新的附加到文件中。应该很简单。
我现在所做的就是以下循环,将u定义为来自twitter api的json输出:
json_u = json.loads(u)
after first run:
q = [x for x in json_u if x not in old_u]
write q
old_u = json_u
wait five minutes
问题是q =行似乎没有正确地完成工作,因为q变量最终每次都包含所有20条新推文。认为python在这个结构上遇到了困难(json_u应该是20个dicts的列表),我想用这种方式实现它:
q = [x for str(x) in json_u if str(x) not in old_u]
但它会抛出一个 SyntaxError:无法分配给函数调用错误。
任何帮助?谢谢!
答案 0 :(得分:0)
语法是[表达变量的...],这就是你得到语法错误的原因。
你的原始列表理解很好。问题似乎是你在jason_u中的字母与old_u中的字母不同。
您是否打印过dicts并查找时间戳等差异?