python中的字典相关知识

本文深入探讨Python中字典的数据类型特点,包括其可变性、哈希性以及在存储关系型数据方面的优势。详细讲解了字典的创建、查询、添加、修改、删除等操作,并通过实例展示了setdefault和update等方法的使用。

python中的字典相关知识

  • 数据类型的划分:

    • 可变数据类型:元组,bool,int,str 可哈希
    • 不可变类型:list,dict,set 不可哈希
    • 字典的key必须是不可变类型,value是任意数据类型
  • dict的优点:

    • 二分查找法(每次查找找一半)
    • 存储大量的关系型数据
  • dict的特点:

    • 3.5之前(包括3.5)的版本是无序的
  • 字典的相关操作

    • 添加
dic1 = {'age':18,'name':'xiaosheng','sex':'male'}

dic1['high'] = 165   # 添加
dic1['age'] = 16     # 若键名存在则修改值
dic1.setdefault('weight',115)   # 有键值对的话,不做任何操作,如果没有该键值对,则添加
print(dic1)   # {'age': 16, 'name': 'xiaosheng', 'sex': 'male', 'high': 165, 'weight': 115}
  • 删除
dic1 = {'age':18,'name':'xiaosheng','sex':'male'}

a = dic1.pop('age')  # 按键删除,有返回值
print(dic1.pop('sheng',None))   # 可以设置返回值
print(a)   # 18
print(dic1)   # {'name': 'xiaosheng', 'sex': 'male'}
dic1.popitem()   # 此处3.5之前都是随机删除,但是3.6以后的版本因为字典有序之后,所以就变为删除最后一个了,返回的是元组,删除的是键值
del dict['name']    # 删除键值对,但是如果删除不存在的键值对的时候,就会报错
del dic1  # 删除整个字典
dic1.clear()  # 清空整个字典
  • 修改
dic1 = {'age':18,'name':'xiaosheng','sex':'male','wf':'wfe','ew':'ewf'}
dic2 = {'name':'yehuaner','age':18,'sex':'female'}

dic2.update(dic1)   # 把dic1里面的内容都添加到dic2里面,如果dic1里面的键和dic2里面的键重复,则dic1里面的值覆盖dic2的值

print(dic1)    #{'age': 18, 'name': 'xiaosheng', 'sex': 'male', 'wf': 'wfe', 'ew': 'ewf'}
print(dic2)    #{'name': 'xiaosheng', 'age': 18, 'sex': 'male', 'wf': 'wfe', 'ew': 'ewf'}
  • 查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值