Python基础篇--字典dict

定义:

      字典是一种无无序的组合数据类型,不可遍历,没有索引,是由键值对--即key,value组成,其“键”只能是不可变(可哈希)的数据类型如:字符串,元祖... 字典的值可以是任何数据类型,也可以嵌套。
     这里说下为什么字典的查询速度快,是因为字典的“键”是被哈希(散列)后存储的,查找数据的时候以二分法查找,相对与遍历的查找比较起来就会速度快很多。

方法:

    创建字典有很多种方法

dict1 = {'name': 'peter', 'age': 20}
dict2 = dict(name='peter', age=20)
dict3 = dict(zip(['name', 'age'], ['peter', 20]))

    上面三种方法输出结果都是

{'name': 'peter', 'age': 20}

    向字典中添加值,值得注意的是,如果要添加的“键”已经存在,将会把已存在的键值对覆盖

dict1['job']='coder'

    下面列举一些常用的方法

dict1.get('name')        # 返回键name相关联的值,如果不存在键name,返回None
peter
dict1.get('country', 'no key')    # 如果存在键name就返回相对应的值,不存在返回'no key'
no key
dict1.keys()                            # 返回字典的键列表
dict_keys(['name', 'age', 'job'])
dict1.values()                          # 返回字典的值列表
dict_values(['peter', 20, 'coder'])
dict1.items()                           # 返回字典的键值对的视图列表
dict_items([('name', 'peter'), ('age', 20), ('job', 'coder')])
dict1.pop('name')                       # 移除并返回键name所对应的值
peter            # dict1现在为{'age': 20, 'job': 'coder'}
dict1.clear()        # 删除字典内所有的元素

    合并两个字典

dict4 = {'hobby': 'read', 'sex': '未知'}
dict5 = {'salary': 200, 'childname': 'jenny'}
dict4.update(dict5)        # 将字典dict5的键值对更新到字典dict4里
dict4
{'hobby': 'read', 'sex': '未知', 'salary': 200, 'childname': 'jenny'}
dict6 = {'name': 'william'}
dict7 = {**dict5, **dict6}        # 将两个字典的键值对赋给新的字典
dict7
{'salary': 200, 'childname': 'jenny', 'name': 'william'}

    反转key,value值,这种方法不是很靠谱,当值有重复的时候会覆盖,看看就好

dict8 = dict(name='peter', age=20)
dict9 = {k: v for v, k in dict8.items()}
dict9
{'peter': 'name', 20: 'age'}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值