Python列表理解语法错误

Ant*_*ton 1 python list-comprehension

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

for item in results:
    item ['currentservertime'] = int(time.time())
Run Code Online (Sandbox Code Playgroud)

不过我想用列表理解来做这件事.所以我尝试了以下内容,但是我在=上遇到语法错误

item['currentservertime'] = int(time.time()) for item in results
Run Code Online (Sandbox Code Playgroud)

我哪里错了?

lvc*_*lvc 10

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

currentservertime = []
for item in results:
    currentservertime.append(int(time.time())
Run Code Online (Sandbox Code Playgroud)

这将转化为列表理解:

currentservertime = [int(time.time()) for item in results]
Run Code Online (Sandbox Code Playgroud)

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