Python基础---字典
程序员文章站
2022-05-03 08:06:24
...
1.字典定义
数据类型分为可变类型和不可变类型
类型 | 相关数据类型 | s是否哈希 |
---|---|---|
可变类型 | list 、dict 、set | 不可哈希 |
不可变类型 | str 、tuple(元组)、 bool 、int | 可哈希 |
字典(dict)是一种key value 无序的数据类型:
key 必须是不可变得数据类型 一般字符即可
value 可以任何种数据类型
2.字典相关操作
-
取值
#取值有dict['key']、dict.get("key"),dict.setdault('key')三中方法 dict={ 'name':'xiaojing', 'sex':'boy', 'hobby': ['girl', 'movie', 'cycling'], } print(dict['hobby'])# ['girl', 'movie', 'cycling'] print(dict['hobby'][0])#girl print(dict['name'])#xiaojing print(dict['name1'])#不存在该key会报错 name=dict.get("name1",'false')#默认找不到会返回None,可以修改返回值,此处改为false print(name) #false dict={ 'name':'xiaojing', } print(dict.setdefault('name','LaoWang')) #xiaojing print(dict.setdefault('name1','LaoWang')) #LaoWang print(dict) #{'name': 'xiaojing', 'name1': 'LaoWang'} #setdefault获取不存在的键值时会往字典添加改键
-
增加
#增加有直接键值对增加、dict.setdefault(key,value) dict={ 'name':'xiaojing', 'sex':'boy', 'email':'[email protected]' } dict['telephone']='15099818848' #没有该键则创建该键值对 dict['sex']='girl' #已存在该键值对则覆盖 print(dict)#{'name': 'xiaojing', 'sex': 'girl', 'email': '[email protected]', 'telephone': '15099818848'} dict.setdefault('email','[email protected]')#setdefault如果key已经存在则不修改该值 print(dict['email'])#[email protected]
-
删除
dict={ 'name':'xiaojing', 'sex':'boy', 'email':'[email protected]' } ret=dict.pop('sex1','false') if ret=='false': print('没有此键,返回值为:'+ret) else:print(ret) #pop(key,None) 删除成功则返回value,失败则返回None,None可以省略也可以修改,如上面改为'false'
-
更新
#更新cookie时用到 dict={ 'name':'xiaojing', 'sex':'boy' } dict1={ 'sex':'girl', 'email':'[email protected]' } dict.update(dict1) print(dict)#{'name': 'xiaojing', 'sex': 'girl', 'email': '[email protected]'} #dict1.update(dict2)用dict2去更新dict1,存在相同key值时则更新value值,不存在key时则创建
-
查找
#dict.keys() dict.values() dict.items() dict={ 'name':'xiaojing', 'sex':'boy' } print(dict.keys())#dict_keys(['name', 'sex']) 返回列表对象 print(dict.values())#dict_values(['xiaojing', 'boy']) 返回列表对象 print(dict.items())#dict_items([('name', 'xiaojing'), ('sex', 'boy')]) 返回以元组为元素的列表对象 for key in dict.keys(): print(key)#name sex for key,value in dict.items(): print(key,value) #name xiaojing sex boy
-
字典嵌套
dict={ 'studentID':'201641402319', 'msg':{ 'name':'xiao jing', 'age':23, 'sex':'boy' } } name=dict.get('msg').get('name').title() #先找到内容,再进行操作 print(name)#Xiao Jing
-
分别赋值
a=1 b=2 a,b=b,a #一行代码同时交换a b的值 print(a,b)#2 1 a,b=['c','d'],['e','f'] print(a,b) #['c', 'd'] ['e', 'f'] a,b=(1,2) #分别赋值,自动识别右边最小元素,然后分别赋值 print(a,b)#1 2
推荐阅读
-
Python常用的文件及文件路径、目录操作方法汇总介绍
-
JS 基础-入门实例(变量、常量、函数、作用域)
-
Python的Flask框架中Flask-Admin库的简单入门指引
-
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
-
制作python版本的类CIFAR10数据集.Tensorflow
-
Python中Numpy包的安装与使用方法简明教程
-
10种检测Python程序运行时间、CPU和内存占用的方法
-
Linux运维基础进程管理及环境组成分析
-
如何看待 2016 年 5 月 3 日 Python PEP8 风格的改动?
-
python爬虫之利用selenium+opencv识别滑动验证并模拟登陆知乎功能