Python列表理解语法错误

时间:2012-08-22 01:45:51

标签: python list-comprehension

使用for循环,以下python代码可以正常工作。

for item in results:
    item ['currentservertime'] = int(time.time())

我想用列表理解来做到这一点。所以我尝试了以下内容,但是我在=

上遇到语法错误
item['currentservertime'] = int(time.time()) for item in results

我哪里错了?

2 个答案:

答案 0 :(得分:10)

列表理解在这里不起作用,因为你不是在任何时候建立一个列表 - 你正在改变各种词典中的值。如果您的原始代码具有以下形式,则列表理解将是正确的工具:

currentservertime = []
for item in results:
    currentservertime.append(int(time.time())

这将转化为列表理解:

currentservertime = [int(time.time()) for item in results]

目前,您现有的循环是实现您正在做的事情的最清晰,最直接的方式。

答案 1 :(得分:0)

[i.update({'currentservertime': int(time.time())}) for i in results]