1

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

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

但是,我想通过列表理解来做到这一点。所以我尝试了以下方法,但在 = 上出现语法错误

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

我哪里错了?

4

2 回答 2

10

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

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

这将转化为列表理解:

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

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

于 2012-08-22T01:50:05.720 回答
0
[i.update({'currentservertime': int(time.time())}) for i in results]
于 2012-08-22T03:07:39.937 回答