首页 > 解决方案 > 在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 个值,这是什么原因造成的,如何根据我的原始脚本解决它?

标签: pythonpython-3.x

解决方案


因为是Loop,在i = 0时if i >0:不会运行函数;append()

您可以更改if i >0:为 -> if i >=0:,或删除此条件。


推荐阅读