首页 > 解决方案 > 如何从python中的数组列表中删除一个数组

问题描述

我使用以下 NumPy 数组创建了一个列表

a=np.arange(1,10,1)
b=np.arange(10,19,1)
c=np.arange(19,28,1)

#a= [1,2,3,4,5,6,7,8,9]

#b = [10,11,12,13, 14,15,16, 17,18]

#c =[19,20,21,22,23,24,25,26,27]

list_array = [a,b,c] 

但是,当我尝试使用 list_array.remove 从列表中删除任何数组时,出现以下错误

list_array.remove(b)
>>ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

我的问题是如何从 numpy 数组列表中删除数组?

标签: pythonarrayslistnumpy

解决方案


Python 没有“where”关键字。你必须先声明你的数组,然后再声明数组的数组,然后你就可以毫无困难地删除。

供您参考,Python 中没有数组,只有列表,您可以在其中放置您想要的任何类型。写作a = ["hello", 2, 6.48]是完全有效的。

a= [1,2,3,
    4,5,6,
    7,8,9]

b = [10,11,12,
     13, 14,15,
     16, 17,18]

c =[19,20,21,
    22,23,24,
    25,26,27]


list_array = [a, b, c]

list_array.remove(b)

print(list_array) #Prints [a, c]

推荐阅读