字典的使用(下) | Python从入门到精通:进阶篇之十五

字典的使用(上) | Python从入门到精通:进阶篇之十四

字典的使用

删除 del

# 删除,可以使用 del 来删除字典中的 key-value
del d['a']
del d['b']
# del d['z'] z不存在,报错
print[d]

执行结果:

字典的使用(下) | Python从入门到精通:进阶篇之十五
字典的使用(下) | Python从入门到精通:进阶篇之十五

删除 popitem()

# popitem()
# 随机删除字典中的一个键值对,一般都会删除最后一个键值对
#   删除之后,它会将删除的key-value作为返回值返回
#   返回的是一个元组,元组中有两个元素,第一个元素是删除的key,第二个是删除的value
# 当使用popitem()删除一个空字典时,会抛出异常 KeyError: 'popitem(): dictionary is empty'

d.popitem()
result = d.popitem()
#result = d.popitem()
#result = d.popitem()
#result = d.popitem()
print('result=',result)
print(d)

执行结果:

字典的使用(下) | Python从入门到精通:进阶篇之十五
字典的使用(下) | Python从入门到精通:进阶篇之十五
字典的使用(下) | Python从入门到精通:进阶篇之十五

删除 pop(key[, default])

# pop(key[, default])
# 根据key删除字典中的key-value
# 会将被删除的value返回!
# 如果删除不存在的key,会抛出异常
#   如果指定了默认值,在删除不存在的key时,不会报错,而是直接返回默认值
d = {'c':3,'d':4,'e':5,'f':6}
result = d.pop('d')
result = d.pop('z','这是默认值')
print('result=',result)
print(d)

执行结果:

字典的使用(下) | Python从入门到精通:进阶篇之十五
字典的使用(下) | Python从入门到精通:进阶篇之十五

删除 clear()

# clear()用来清空字典
d.clear()

print('result=',result)
print(d)

执行结果:

字典的使用(下) | Python从入门到精通:进阶篇之十五

浅复制 copy()

d = {'a':1,'b':2,'c':3}
d2 = d
d['b'] = 10

print('d = ',d)
print('d2 = ',d2)

执行结果:

字典的使用(下) | Python从入门到精通:进阶篇之十五

这并不是复制,d,d2指向的是同一个对象。而复制则是二者之间相互独立,没有相互的关系。

# copy()
# 该方法用于对字典进行浅复制
# 复制以后的对象,和原对象是独立,修改一个不会影响另一个
d = {'a':1,'b':2,'c':3}
d2 = d.copy()
# d['a'] = 100

print('d = ',d , id(d))
print('d2 = ',d2 , id(d2))

执行结果:

字典的使用(下) | Python从入门到精通:进阶篇之十五
字典的使用(下) | Python从入门到精通:进阶篇之十五

注意,浅复制只会简单复制对象内部的值,如果值也是一个可变对象,这个可变对象不会被复制

d = {'a':{'name':'孙悟空','age':18},'b':2,'c':3}
d2 = d.copy()
#d2['a']['name'] = '猪八戒'

print('d = ',d , id(d))
print('d2 = ',d2 , id(d2))

执行结果:

字典的使用(下) | Python从入门到精通:进阶篇之十五字典的使用(下) | Python从入门到精通:进阶篇之十五

我们一般只会运用浅复制操作。

配套视频课程,点击这里查看

获取更多资源请订阅Python学习站

上一篇:sql查询重复记录、删除重复记录方法大全


下一篇:字典的遍历 | Python从入门到精通:进阶篇之十六