Python |如何从2D数组中删除子数组

时间:2016-04-07 21:11:27

标签: python arrays

如果我有一个2D数组:

array = [["hello"], [1,2,3], [4,5,6]]

如何让程序删除第一个子数组,结果如下:

array = [[1,2,3], [4,5,6]]

如果我尝试array[0].pop[0],数组最终会像这样:

array = [[], [1,2,3], [4,5,6]]

5 个答案:

答案 0 :(得分:3)

你必须

array.pop(0)

因为你想删除第一个元素

答案 1 :(得分:2)

执行array[0].pop(0)后,您要移除"hello"而不是["hello"] 由于["hello"]位于数组的第0位,因此您应该使用

array.pop(0)

答案 2 :(得分:0)

您正在删除第一个子列表的第一个项目,而不是整个子列表。您可以使用del语句删除第一项:

>>> array=[["hello"],[1,2,3],[4,5,6]]
>>> 
>>> del array[0]
>>> 
>>> array
[[1, 2, 3], [4, 5, 6]]

或者,如果您想保留已删除的项目,可以使用array.pop(0)

答案 3 :(得分:0)

要从array中删除第一项并使用array.pop(0)返回

>>> array = [["hello"], [1,2,3], [4,5,6]]
>>> array.pop(0)
['hello']
>>> array
[[1, 2, 3], [4, 5, 6]]

如果您对返回值不感兴趣,可以使用切片分配或del。这些可用于删除多个项目。

>>> array = [["hello"], [1,2,3], [4,5,6]]
>>> array[:1] = []
>>> array
[[1, 2, 3], [4, 5, 6]]

答案 4 :(得分:0)

array [0] 是列表 [" hello"] ,此列表中的第一个(也是唯一的)项是字符串"你好" ,所以如果你弹出它就会得到空列表 [] ,这样你就得到了结果。

如上所述,从数组弹出第一个列表的正确方法是 array.pop(0)