如何删除列表中的列表?

时间:2019-06-23 12:24:33

标签: python list

我试图删除列表中的列表,但是即使删除了列表,我的代码也无法删除。

y = [45]  
x = [1,2,3,5,y]    

del y        
print(x)

打印x的输出:

[1, 2, 3, 5, [45]]

我的输出显示为[1, 2, 3, 5, [45]],这意味着列表y仍然存在于列表x中。
但是我在代码中删除了列表y。为什么列表y仍未删除?我的代码有问题吗?如何在Python中删除整个列表?

3 个答案:

答案 0 :(得分:1)

here并玩弄它。

在python中,所有variables都是names,它们绑定到对象。它与CC++的{​​{1}}或variables不同。

在您的代码中,memory locationsy都绑定到列表对象x[4]上。 [45]时,无法阻止del y绑定到x[4]

答案 1 :(得分:0)

如果要删除n的第list个元素,则应按以下方式使用del

y = [45]
x = [1,2,3,5,y]
del x[4] # 4 means last element of x as indexing starts with 0
print(x) # [1,2,3,5]
print(y) # [45]

请注意,此后y保持不变。 list的方法.remove也将删除首次出现的方法,请考虑以下示例:

a = [1,2,3,1,2,3,1,2,3]
a.remove(3)
print(a) # [1, 2, 1, 2, 3, 1, 2, 3]
如果remove中没有元素,则

ValueError将导致list

答案 2 :(得分:0)

删除另一个列表中存在的列表。

通过使用删除功能,我们还可以删除另一个列表中的列表。

运行以下代码:

y = [45]  
x = [1,2,3,5,y]    

x.remove(y)
print(x)

x.remove(y)将从x列表中删除y列表。

输出:

[1、2、3、5]