Python之路6:字典

字典是一种 Key-value 的数据类型

特性:

key-value 结构
key 必须可 hash ,且必须为不可变数据类型,必须唯一
可存放任意多个值,可修改,可以不唯一
无序
查找速度快

字典的用法:

  • 创建
// 字典为大括号,key 和 value之间用冒号分开,不同 Key-value 之间用逗号分开
>>> info = {'stu001':['zeinv',23],'stu002':['jack',33]}
>>> info
{'stu001': ['zeinv', 23], 'stu002': ['jack', 33]}
  • 增加
// 直接在字典后中括号内写入 key值,后面等于号写于 value 值
>>> info['stu003'] = ['abc',24]
>>> info
{'stu001': ['zeinv', 23], 'stu002': ['jack', 33], 'stu003': ['abc', 24]}
  • 修改
>>> info['stu003'] = ['cde',32]
>>> info
{'stu001': ['zeinv', 23], 'stu002': ['jack', 33], 'stu003': ['cde', 32]}
  • 获取
// 获取可以用 .get(key)获取value值,如果字典里没有也不会报错
>>> info['stu001'] 
['zeinv', 23]
>>> info.get('stu001')
['zeinv', 23]
>>> info.get('stu005')
>>> info['stu005']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'stu005'
  • 删除
>>> info.pop('stu001') // 删除掉的同时打印出value值
['zeinv', 23]
>>> info.popitem()  // .popitem 随机删除字典内的数据
(6, 2)
>>> del info[3]  // del 删除并且不显示所删除的value
>> info.cleaer()  // 清空整个字典
  • 其他方法
>>> info.keys()   // 显示所有的 key 值
dict_keys(['stu002', 'stu003', 4])
>>> info.values()   // 显示字典内所有 value 值
dict_values([['jack', 33], ['cde', 32], 2])
>>> 
>>> info.items()  // 将字典变成列表
dict_items([('stu002', ['jack', 33]), ('stu003', ['cde', 32]), (4, 2)])

>>> dic2 = {1:2,3:4,4:3,'stu002':['j',33]}
>>> info.update(dic2)  // 将字典 dic2 整合到 info 里,如果有相同的 key 值时,dic2 中 value 将覆盖 info 里的值
>>> info
{'stu002': ['j', 33], 'stu003': ['cde', 32], 4: 3, 1: 2, 3: 4}

>>> info.setdefault(4,'jb')  //
3  
>>> info.setdefault(6,'jb')
'jb'
>>> info
{'stu002': ['j', 33], 'stu003': ['cde', 32], 4: 3, 1: 2, 3: 4, 6: 'jb'}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,091评论 17 410
  • Redis是啥 Redis是一个开源的key-value存储系统,由于拥有丰富的数据结构,又被其作者戏称为数据结构...
    一凡呀阅读 1,184评论 0 5
  • 我是一颗慵懒而又明亮星星 在漆黑的夜里将永恒的亮着
    Josan乔阅读 157评论 0 0
  • 我是一个什么样的人?我也不知道我连自己都不了解,此刻心情很乏味想让自己静静想找一个没有人烟的地方把自己封闭起来,又...
    我也说不清阅读 150评论 0 1