我正在尝试计算给定列表中的数字,只计算偶数。我一直收到语法错误,不知道是什么问题。
In [493]: B=np.arange(3)
In [494]: for i,name in enumerate(A.dtype.names):
A[name] = A[name]+B[i]
.....:
In [495]: A
Out[495]:
array([(0, 1.0, 2.0)],
dtype=[('f0', '<i4'), ('f1', '<f4'), ('f2', '<f4')])
语法错误来自dtype='i4, i4, i4'
我的语法有什么问题?
谢谢!
答案 0 :(得分:1)
语法错误
您想进行比较,请使用==
而不是=
(单身等于作业)
if g_list[i] % 2 == 0:
指数超出范围
要遍历列表中的所有元素,您可以使用以下格式:
for i in g_list:
if i % 2 == 0: # No need for g_list[i]
# in your for loop,
# i is an element from the list, not an index
答案 1 :(得分:0)
g_list[i] % 2 = 0
是一个赋值语句(由于你&#34;无法分配给运算符&#34;),因此是一个非法的语句。 if
语句(仅表达式)中不允许赋值语句。
您希望g_list[i] % 2 == 0
是一个逻辑表达式。