2017-06-13 57 views
-2

为什么在运行这行代码时会收到InvalidSyntax错误?Python:列表理解无效的语法错误

y=[0 for iii range(500)] 
+4

您在列表理解中缺少'in'关键字。 –

+0

您的问题Maly,是您的列表理解中缺少'in'运算符。这就是Python抱怨的原因。你的代码实际上应该是'y = [0,范围(500)]中的iii'。注意'iii'和'range(500)'部分之间的'in'。 –

+1

顺便说一句,如果你想要一个500个零的列表,只要'y = [0] * 500'。它比'y = [0在范围(500)]中'更有效率。 –

回答

0

是的,您的语法不正确,正如注释中指出的那样。这里有一些选择:

y = [0 for _ in range(500)] 

y = [0] * 500 

(学分:PM2环)

y = map(int, '0' * 500) 

或(仅当您有numpy的安装)

import numpy as np 
y = np.zeros(500) 

第四个选项是memset,速度非常快。