python - 在python中使用for循环但缺少一些值
问题描述
x 数组([10, 3, 8, 0, 19, 10, 11, 9, 10, 6, 0, 12, 7, 14, 17])
所以我试图创建一个新数组,只有当 x[i] 是 3 的正倍数时 x[i] 才为真。
mask_mult_3=[]
for i in x:
if i >0:
if i %3==0:
i=True
else:
i=False
mask_mult_3.append(i)
np.array(mask_mult_3)
结果是数组([假,真,假,假,假,假,真,假,真,真,假,假,假])
我在 x 中有 15 个值,但现在结果只有 13 个值,这是什么原因造成的,如何根据我的原始脚本解决它?
解决方案
因为是Loop,在i = 0时if i >0:
不会运行函数;append()
您可以更改if i >0:
为 -> if i >=0:
,或删除此条件。