Python 从列表中删除项目

Python 从列表中删除项目,python,Python,为什么这段代码: l = [1,2] del l[1] print(l) 打印输出[1],我假设它将从列表中删除1个,并将剩余的2个打印为[2]。谢谢 l = [1,2] 您需要执行以下操作: l、 移除1 从列表中删除1 dell[1]将删除索引1处的项目,而不是值为1的实际元素,并删除给定索引处列表中的值。由于您键入了del l[1],这意味着您要删除列表“l”第一个索引处的项。如果要删除第0个索引处的项,应该执行like=del l[0]。语法l[i],其中l是list,i

为什么这段代码:

l = [1,2]  
del l[1]  
print(l)  
打印输出[1],我假设它将从列表中删除1个,并将剩余的2个打印为[2]。谢谢

l = [1,2]
您需要执行以下操作:

l、 移除1

从列表中删除1


dell[1]将删除索引1处的项目,而不是值为1的实际元素,并删除给定索引处列表中的值。由于您键入了del l[1],这意味着您要删除列表“l”第一个索引处的项。如果要删除第0个索引处的项,应该执行like=del l[0]。

语法l[i],其中l是list,i是int,表示从0开始的l索引的i+1个元素,而不是l中等于i的元素

要删除l do的第一个元素,请执行以下操作:

要删除l do中的第一个1,请执行以下操作:

要从l do中删除所有1,请执行以下操作:


因为索引从0开始-l[1]引用第二个元素,所以它删除了索引1处的元素,而不是1的元素。您混淆了两件事-索引和内容列表是按位置索引的,而不是按毫无意义的值索引的。@AdamHughes Jinx。
l = [1, 2]
del l[0]
print(l)  # [2]
l = [2, 3, 1, 5, 1]
l.remove(1)
print(l)  #[2, 3, 5, 1]
l = [1, 2, 3, 1, 5, 1]
for i in range(l.count(1)):
    l.remove(1)
print(l)  # [2, 3, 5]