【学Python后赚大钱】字典的常见方法

此文章仅为自己学习记录之用,如有不正确的地方欢迎指正,非常感谢

目录

1.del/clear

2.fromkeys

3.get/setdefailt

4.items/keys/values

5.update

6.pop/popitem

1.del/clear
  • 用法:del dict/deldict[key]/dict.clear()
  • 作用:del- 删除字典中的一个元素(键值对)或者删除整个字典;clear-清空整个字典,使其变为一个空字典
  • 字符释义:dict-要操作的字典;key-字典中的键
  • 返回值:没有返回值,直接修改的原列表对象
dict_1 = {'张三':33,'李四':27,'王五':81}
del dict_1['李四']
print(dict_1) #输出 {'张三': 33, '王五': 81}
dict_1.clear()
print(dict_1) #输出 {}
del dict_1
print(dict_1) #报错
2.fromkeys
  • 用法:dict.fromkeys(seq,value)
  • 作用:以序列(列表、元组)创建一个新的字典,序列中的元素作为字典中的键,value可以自己指定,但是只能指定一个值,这个值将默认作为所有元素的值。默认不指定value,这个时候字典中的值都为 None
  • 字符释义:dict-字典类,可以不关注;seq-要用的序列;value-要指定的所有元素的值,默认不指定
  • 返回值:返回新创建的类
list_1 = ['张三','李四','王五']
dict_1 = dict.fromkeys(list_1)
dict_2 = dict.fromkeys(list_1,45)
print(dict_1) #输出 {'张三': None, '李四': None, '王五': None}
print(dict_2) #输出 {'张三': 45, '李四': 45, '王五': 45}
3.get/setdefailt
  • 用法:dict.get(key,value)/dict.setdefailt(key,value)
  • 作用:get-根据给定的键返回值,如果没有则返回value;setdefailt-根据给定的键返回值,如果没有在字典里添加一个元素
  • 字符释义:dict-要操作的字典;key-要查找的键;value-缺省值,可以不指定,不指定即为None
  • 返回值:返回指定键的值,要是不存在就返回Value或None
dict_1 = {'张三':33,'李四':27,'王五':81}
print(dict_1.get('张三')) #输出 33
print(dict_1.get('王二麻子')) #输出 None
print(dict_1.get('王二麻子','未知')) #输出 未知
print(dict_1) #输出 {'张三': 33, '李四': 27, '王五': 81}
print(dict_1.setdefault('张三')) #输出 33
print(dict_1.setdefault('王二麻子')) #输出 None
print(dict_1) #输出 {'张三': 33, '李四': 27, '王五': 81, '王二麻子': None}
print(dict_1.setdefault('赵四','未知')) #输出 未知
print(dict_1) #输出 {'张三': 33, '李四': 27, '王五': 81, '王二麻子': None, '赵四': '未知'}
4.items/keys/values
  • 用法:dict.items()/dict.keys()/dict.values()
  • 作用:items-获得字典中的所有键值元组;keys-获得字典中的所有键;values-获得字典中的所有值
  • 字符释义:dict-要操作的字典
  • 返回值:items-返回(键,值)组成的数组;keys、values-返回所有值
dict_1 = {'张三':33,'李四':27,'王五':81}
print(dict_1.items()) #输出 dict_items([('张三', 33), ('李四', 27), ('王五', 81)])
print(dict_1.keys()) #输出 dict_keys(['张三', '李四', '王五'])
print(dict_1.values()) #输出 dict_values([33, 27, 81])
5.update
  • 用法:dict1.update(dict2)
  • 作用:将dict2的元素添加到dict1中
  • 字符释义:dict-要操作的字典
  • 返回值:没有返回值,直接修改dict1
dict_1 = {'张三':33,'李四':27,'王五':81}
dict_2 = {'赵四':55,'刘能':43}
dict_1.update(dict_2)
print(dict_1) #输出 {'张三': 33, '李四': 27, '王五': 81, '赵四': 55, '刘能': 43}
print(dict_2) #输出 {'赵四': 55, '刘能': 43}
6.pop/popitem
  • 用法:dict.pop(key,default)/dict.popitem()
  • 作用:pop-删除给定的键所对应的键值并返回值,若键不存在则返回缺省值default;popitem-删除并返回字典的最后一对键值
  • 字符释义:dict-要操作的字典;key-要找的键;default-键不存在时返回的缺省值
  • 返回值:pop-当键存在时返回被删除的值,当键不存在时返回缺省值default;popitem-返回删除的键值对

注:pop函数,若键不存在,又没有指定缺省值时会报错

dict_1 = {'张三':33,'李四':27,'王五':81}
print(dict_1.pop('张三')) #输出 33
print(dict_1) #输出 {'李四': 27, '王五': 81}
# print(dict_1.pop('赵四')) #报错
print(dict_1.pop('赵四','无')) #输出 无
print(dict_1.popitem()) #输出 ('王五', 81)
print(dict_1) #输出 {'李四': 27}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值