我们以一个字符串为元素类型的 list 为例,进行列表元素的删除:
l = ['no surfing', 'flippers']
法一:remove(val)
>>> l.remove('no surfing') >>> l ['flippers']
- (1)remove() 的参数是具体的元素值,而不是索引,
-
(2)如果知道索引,如何使用 remove 删除该索引上的元素值
>>> l.remove(l[1])
-
这样做是很大的风险的,因为 list 允许重复,remove() 删除的列表中第一个和参数值相等的元素
法二:pop(0)
-
(1)pop() 接收的是索引,无参的情况下删除的是最后一个元素(典型的栈的特性)
-
(2)pop() 存在返回值,返回的是删除的元素值
l.pop() <==> l.pop(-1)
-
(3)list 的 append()(添加到尾部),pop()(从尾部弹出),成功地将 list 变成了 stack
法三:del(l[0])
>>> del(l[0])