我正在开发一个相当简单的脚本,用于监视和归档给定用户的tweets -现在,我的配置每5分钟请求一个帐户的20条最新tweet (API限制),然后检查其中哪些是新的,并将新的tweet附加到文件中。应该很简单。
我现在所做的就是下面的循环,其中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个新tweet。考虑到python在这种构造上遇到了困难(json_u应该是一个包含20个字典的列表),我想用这种方式实现它:
q = [x for str(x) in json_u if str(x) not in old_u]但是它抛出了一个SyntaxError: can't assign to function call错误。
有什么帮助吗?谢谢!
发布于 2012-09-18 07:14:57
语法是expression for variables in ...,这就是出现语法错误的原因。
你最初的列表理解是好的。问题似乎是你在jason_u中的字典和在old_u中的不一样。
您是否打印了字典并查找了时间戳等不同之处?
https://stackoverflow.com/questions/12468139
复制相似问题