python dict字典的增删改查,清空,提取key和value

创建

dict的模式为key:value,是一种非常方便的数据存储模式,与json也有很好的相性。

创建一个dict时,可以直接进行声明

dict1 = {'male': 'man', 'age': '18'}

dict中,key之间或者value之间数据类型可以不同,例如

dict1 = {'male': 'man', 35: 18}

或者直接将value设为另一个字典,变为嵌套字典

dict1 = {1: {'male': 'man', 'age': '18'}, 2: {'male': 'woman', 'age': '17'}}

有关嵌套字典的操作和二维数组或者嵌套列表差不多,故在此不表,本文只将对于dict的基础操作作为重点。

增加和修改

增加有两种方式
(1) 直接赋值
key不存在则进行增加,key存在则进行修改

dict1 = {'male': 'man', 'age': '18'}
print(dict1)
dict1['height'] = '137'
print(dict1)
dict1['age'] = '16'
print(dict1)

结果为

{'male': 'man', 'age': '18'}
{'male': 'man', 'age': '18', 'height': '137'}
{'male': 'man', 'age': '16', 'height': '137'}

(2)setdefault
key不存在则进行增加,key存在不进行修改

dict1 = {'male': 'man', 'age': '18'}
print(dict1)
dict1.setdefault('height')
print(dict1)
dict1.setdefault('height', '111')
print(dict1)

结果为

{'male': 'man', 'age': '18'}
{'male': 'man', 'age': '18', 'height': None}
{'male': 'man', 'age': '18', 'height': None}

(3)update
update与赋值一样,优点在于一行代码便可更新,较为直接和美观

dict1 = {'male': 'man', 'age': '18'}
print(dict1)
dict1.update({'age': '16', 'height': '122'})
print(dict1)

结果为

{'male': 'man', 'age': '18'}
{'male': 'man', 'age': '16', 'height': '122'}
查询

(1)直接调用

dict1 = {'male': 'man', 'age': '18'}
print(dict1['age'])
print(dict1['assssse'])

如果没有则会报错

18
Traceback (most recent call last):
  File "E:\pytest\DictHandler.py", line 3, in <module>
    print(dict1['assssse'])
          ~~~~~^^^^^^^^^^^
KeyError: 'assssse'

(2)get()
防止报错可以使用get()

dict1 = {'male': 'man', 'age': '18'}
print(dict1.get('age'))
print(dict1.get('ssss'))
print(dict1.get('ssss', 'error'))

可以增加报错信息

18
None
error

(3)keys(), values(), items()

dict1 = {'male': 'man', 'age': '18'}
print(dict1.keys())
print(dict1.values())
print(dict1.items())

结果返回

dict_keys(['male', 'age'])
dict_values(['man', '18'])
dict_items([('male', 'man'), ('age', '18')])

如果要转List直接

list(dict1.keys())

即可

删除

推荐使用pop,del函数属于python中通用的删除函数,此处不表
向pop中传入key值即可,函数会返回value,同时也可以增加报错信息

dict1 = {'male': 'man', 'age': '18'}
print(dict1.pop('age'))
print(dict1.pop('sss', 'error'))
print(dict1)

结果为

18
error
{'male': 'man'}

或者直接clear()全部清空

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值