我在python中的if条件中面临一个非常基本的问题。

数组current_img_list的尺寸为(500L,1)。如果数字84459在此数组中,我想将其减去1。

index = np.random.randint(0,num_train-1,500)
# shape of current_img_list is (500L,1)
# values in index array is randomized
current_img_list = train_data['img_list'][index]
# shape of current_img_list is (500L,1)

if (any(current_img_list) == 82459):
        i = np.where(current_img_list == 82459)
        final_list = i-1


变量说明-train_data为dict类型。它包含4个元素。 img_list是大小为(215375L,1)的元素之一。 num_train的值为215375,索引的大小为(500L,1)

首先,我不知道此循环是否正常工作。我尝试了all()函数和numpy.where()函数,但没有成功。其次,我想不出一种方法,如何直接从82459的存储索引中减去1,而不影响此数组中的其余值。

谢谢

最佳答案

current_img_list = np.array([1,2,3,82459,4,5,6])
i = np.where(current_img_list == 82459)
current_img_list[i] -= 1

关于python - 如果满足条件,则从数组中减去数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44810755/

10-12 16:39