(四)字典常见操作
1、增
写法:字典序列[key] = 值
。
注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
# 1.修改字典中name的值。
dict1['name'] = 'Rose'
# 结果:{'name': 'Rose', 'age': 20, 'gender': '男'}
print(dict1)
# 2.新增id属性
dict1['id'] = 110
# {'name': 'Rose', 'age': 20, 'gender': '男', 'id': 110}
print(dict1)
注意:字典为可变类型。
2、删
@1.del( )
方法 或del
函数
del( )
方法 或del
函数:删除字典或删除字典中指定键值对。
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
# 1.删除字典中指定的键值对
# 结果:{'name': 'Tom', 'age': 20}
del dict1['gender']
print(dict1)
# 2.通过del删除整个字典
# 结果:NameError: name 'dict1' is not defined
del(dict1)
print(dict1)
# 3.所删除的key不包含在字典中,会抛异常
# 结果:KeyError: 'genders'
del dict1['genders']
print(dict1)
@2.clear( )
方法
clear( )
方法:清空字典
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
dict1.clear()
print(dict1) # {}
@3.popitem( )
方法
popitem( )
方法随机删除字典中的一个键/值对,一般都会删除最后一个键值对。
删除之后,它会将删除的key-value作为返回值返回,
返回的是一个元组,元组中有两个元素,第一个元素是删除的key,第二个是删除的value。
"""
1.在字典中删除一个键值对。
输出结果:
result = ('c', 3)
{'a': 1, 'b': 2}
"""
d = {'a': 1, 'b': 2, 'c': 3}
result = d.popitem()
print("result = ", result)
print(d)
# 2.当使用popitem()删除一个空字典时,会抛出异常。
# 结果:KeyError: 'popitem(): dictionary is empty'
d = {}
d.popitem()
@4.pop(key[, default])
方法
"""
1.pop(key[, default])方法,
根据key删除字典中的key-value,
会将被删除的value返回!
输出结果:
result = 1
{'b': 2, 'c': 3}
"""
d = {'a': 1, 'b': 2, 'c': 3}
result = d.pop('a')
print("result = ", result)
print(d)
"""
2.如果删除的key,在字典中不存在,会抛出异常。
"""
# 结果:KeyError: 'f'
d = {'a': 1, 'b': 2, 'c': 3}
result = d.pop('f') # 异常
"""
3.如果指定了默认值,再删除不存在的key时,不会报错,
而是直接返回默认值。
输出结果:
result = 这是默认值
{'a': 1, 'b': 2, 'c': 3}
"""
d = {'a': 1, 'b': 2, 'c': 3}
result = d.pop('z','这是默认值')
print("result = ", result)
print(d)
3、改
@1.通过key修改字典
写法:字典序列[key] = 值
注意:如果key存在则修改这个key对应的值 ,如果key不存在则新增此键值对。
dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}
# 修改
# 结果:{'name': 'Lily', 'age': 20, 'gender': '男'}
dict1['name'] = 'Lily'
print(dict1)
# 增加
# 结果:{'name': 'Lily', 'age': 20, 'gender': '男', 'id': 110}
dict1['id'] = 110
print(dict1)
@2.setdefault(key[, default])
方法
"""
setdefault(key[, default]) 可以用来向字典中添加key-value,
如果key已经存在于字典中,则返回key的值,不会对字典做任何操作,
如果key不存在,则向字典中添加这个key,并设置value,返回默认值。
"""
# 1.存在key,不会对字典做任何操作,返回key的值
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
result = dict1.setdefault('name','猪八戒')
print('result =',result) # result = Tom
print(dict1) # {'name': 'Tom', 'age': 20, 'gender': '男'}
# 2.不存在key,添加值,返回key的默认值
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
result = dict1.setdefault('id','猪八戒')
print('result =',result) # result = 猪八戒
print(dict1) # {'name': 'Tom', 'age': 20, 'gender': '男', 'id': '猪八戒'}
@3.update([other])
方法
"""
将其他的字典中的key-value添加到当前字典中
如果有重复的key,则后边的会替换到当前的
"""
# 结果:{'a': 7, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}
d = {'a': 1, 'b': 2, 'c': 3}
d2 = {'d': 4, 'e': 5, 'f': 6, 'a': 7}
d.update(d2)
print(d)