如果我有一个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]]
答案 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)