Python入门100个实例(25)——删除列表元素

从本实例学到什么

本实例讲三种从列表中删除元素的做法。
1. 用del语句删除元素
2. 用列表对象的pop方法删除元素
3. 用列表对象的remove方法删除某个值

实例程序代码

#例3-2-2 删除列表元素
# del语句删除列表元素
motorcycles = ['honda', 'yamaha', 'suzuki', '宗申', '钱江']
print(motorcycles)
print("删除第一个元素:")
del motorcycles[0]
print(motorcycles)
print("删除第三个元素:")
del motorcycles[2]
print(motorcycles)
#del 'suzuki'   #这样写是错误的。


#pop()方法删除列表尾部元素
motorcycles = ['honda', 'yamaha', 'suzuki', '宗申', '钱江']
print("pop()方法删除尾部元素。开始列表是:",motorcycles)
print("第一次pop():")
qj = motorcycles.pop()
print(motorcycles)
print("被删除的元素:", qj)
print("第二次pop():")
zs = motorcycles.pop()
print(motorcycles)
print("被删除的元素:", zs)

#pop(i)删除第i+1个元素
motorcycles = ['honda', 'yamaha', 'suzuki', '宗申', '钱江']
print("pop(i)方法删除第i+1个元素。一开始,列表是:",motorcycles)
print("pop(0)之后:")
honda = motorcycles.pop(0)
print(motorcycles)
print("被删除的元素是:", honda)
print("再pop(2)之后:")
zs = motorcycles.pop(2)
print(motorcycles)
print("被删除的元素是:", zs)

#remove(value)删除值为value的元素(只针对第一次匹配)
motorcycles = ['honda', 'yamaha', 'suzuki', '宗申', '钱江', 'honda']
print("remove(v)方法删除值为v的元素。一开始,列表是:", motorcycles)
print("remove('honda')之后:")
motorcycles.remove('honda')
print(motorcycles)

运行例3-2-2,输出以下内容:

[‘honda’, ‘yamaha’, ‘suzuki’, ‘宗申’, ‘钱江’]
删除第一个元素:
[‘yamaha’, ‘suzuki’, ‘宗申’, ‘钱江’]
删除第三个元素:
[‘yamaha’, ‘suzuki’, ‘钱江’]
pop()方法删除尾部元素。开始列表是: [‘honda’, ‘yamaha’, ‘suzuki’, ‘宗申’, ‘钱江’]
第一次pop():
[‘honda’, ‘yamaha’, ‘suzuki’, ‘宗申’]
被删除的元素: 钱江
第二次pop():
[‘honda’, ‘yamaha’, ‘suzuki’]
被删除的元素: 宗申
pop(i)方法删除第i+1个元素。一开始,列表是: [‘honda’, ‘yamaha’, ‘suzuki’, ‘宗申’, ‘钱江’]
pop(0)之后:
[‘yamaha’, ‘suzuki’, ‘宗申’, ‘钱江’]
被删除的元素是: honda
再pop(2)之后:
[‘yamaha’, ‘suzuki’, ‘钱江’]
被删除的元素是: 宗申
remove(v)方法删除值为v的元素。一开始,列表是: [‘honda’, ‘yamaha’, ‘suzuki’, ‘宗申’, ‘钱江’, ‘honda’]
remove(‘honda’)之后:
[‘yamaha’, ‘suzuki’, ‘宗申’, ‘钱江’, ‘honda’]

用del语句删除元素

del语句的写法是: del 列表名[下标] 。
比如:
1. 例3-2-2中第6行删除了motorcycles列表的第1个元素。写法是: del motorcycles[0] 。
2. 接着,第9行删除了motorcycles列表的第3个元素。删除的是值为’宗申’的元素。

用列表对象的pop方法删除元素

pop方法有两种用法。第一种是不带参数,写法如motorcycles.pop()。第二种是带参数,写法如motorcycles.pop(2)。

第一种用法的作用是删除列表尾部元素。
1. 例3-2-2第18行,代码是:qj = motorcycles.pop()。首先执行pop方法,从motorcycles列表去除尾部元素,并返回所删除的元素,即值为’钱江’的元素;接着,把值为’钱江’的字符串赋值给qj变量。
2. 第22行,代码是:zs = motorcycles.pop()。这一次删除并返回的是值为’宗申’的元素。

第二种用法的作用是删除指定下标的元素。
1. 第30行,代码是: honda = motorcycles.pop(0)。首先执行pop方法,传入参数0,作用是删除并返回下标为0的元素,即motorcycles列表的第1个元素。该元素的值是’honda’。接着,honda变量赋值为’honda’。
2. 第34行,代码是: zs = motorcycles.pop(2)。首先执行pop方法,传入参数2,作用是删除并返回下标为2的元素,即值为’宗申’的元素。接着,zs变量赋值为’宗申’。要注意到,第30行代码先删除了一个元素,第34行代码再删除一个元素。

用列表对象的remove方法删除某个值

有没有注意到,remove方法删除的是某个值,不是某个元素。remove方法的用法如:motorcycles.remove(‘honda’) 。传入的参数是值。格式是:列表对象.remove(v)。作用是删除值为v的元素。要注意,若值为v的元素有多个,那么只会删除最左侧的那一个。

例3-2-2中,
1. 第39行代码,motorcycles列表中有两个值为’honda’的元素,分别是第一个和最后一个元素。
2. 第42行,代码是:motorcycles.remove(‘honda’),作用是删除’honda’的第一次出现。观察第43行产生的输出,你可以看到最后一个元素没有被删除。

小结

  1. 写法:del 列表名[i]。作用:删除下标为i的元素。
  2. 写法:列表名.pop()。作用:删除并返回列表尾部的元素。
  3. 写法:列表名.pop(i)。作用:删除并返回下标为i的元素。
  4. 写法:列表名.remove(v)。作用:删除列表中值为v的元素。要注意,若值为v的元素有多个,那么只会删除最左侧的那一个。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值