一.remove的用法
想删掉列表中所有的b,常规思路:
string = ['b','b','b','c','b']
string.remove('b')
print(string)
输出结果:
结果与预期不相符,只删掉了第一个b,解决办法:
string = ['b','b','b','c','b']
def del_b(list1):
for ind in list1[:]:
if ind == 'b':
list1.remove(ind)
return list1
print(del_b(string))
输出结果:
这里要注意的是,应使得ind在list1[:]中遍历,因为对于list,每一次删除b之后,后面元素的索引都会更新,最后一个b会保留。
string = ['b','b','b','c','b']
def del_b1(list1):
for ind in list1:
if ind == 'b':
list1.remove(ind)
return list1
print(del_b1(string))
输出结果:
这种办法不仅可以用于一维的list,在二维list中也可以应用。
string1 = [['a','b'],['b','c'],['c','d'],['e','f'],['b','e']]
def del_bb(list1):
for ind in list1[:]:
if 'b' in ind:
list1.remove(ind)
return list1
print(del_bb(string1))
输出结果: