为什么用单行为循环分配字典时出现语法错误?

问题描述 投票:0回答:1

我试图像这样将dic [0]的'False'分配给dic [49]。

>>> dic = {}
>>> [ dic[i] = False for i in range(50)]

但是,我收到此错误消息。

  File "<stdin>", line 1
    [ dic[i] = False for i in range(50)]
             ^
SyntaxError: invalid syntax

通过这种方式起作用。

for i in range(50):
    dic[i] = False

为什么不能使用单行循环分配字典?

python dictionary syntax
1个回答
0
投票

[dic[i] = False for i in range(50)]不是*循环的唯一对象,这是收集值的列表理解。

您需要的是dict理解

dic = {i: False for i in range(50)}
© www.soinside.com 2019 - 2024. All rights reserved.