字典在遍历时遇到问题
dict1 = {'beer1': '雪花啤酒', "beer2": '青岛啤酒',
'beer3': '科罗娜', 'beer4': '今日懒散'
, '白酒': '五粮液', '红酒': '干红'}
for i in dict1.keys():
if 'beer' in i:
dict1.pop(i)
print(dict1)
这个时候会报出一个错误:
说我们在迭代期间对字典的大小进行了更改
所以这个时候我们就要新建一个列表去存放字典的key值,之后遍历列表得到key再去删除字典的value
dict1 = {'beer1': '雪花啤酒', "beer2": '青岛啤酒',
'beer3': '科罗娜', 'beer4': '今日懒散'
, '白酒': '五粮液', '红酒': '干红'}
list1 = []
for i in dict1.keys():
if 'beer' in i:
list1.append(i)
for j in list1:
dict1.pop(j)
print(dict1)
这样就可以删除了