python3-基础篇-09-字典
2022/2/12 9:44:37
本文主要是介绍python3-基础篇-09-字典,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
字典的特点:
1.无序的
2.key唯一
ps:类似于java中的map
一、字典创建
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
1. _dict={key:value} (常用)
2. _dict=dict(((key,value),))
_dict1 ={"name":"lvyq","age":12} _dict2=dict((("name","lvyq"),("age",12),)) print(type(_dict1),_dict1) print(type(_dict2),_dict2)
二、字典操作
1.查询 ,通过key查询
1.value=_dict['key']
2.value = _dict.get('key')
_dict = {'name':'lvyq','age':12} name = _dict['name'] age = _dict.get('age') print(name) print(age)
运行结果
lvyq
12
其它方法
方法 | 说明 |
_dict.keys() | 获取所有键,在python3中,并非列表类型,是一个dict_keys类型,这是python3做的优化,使用的话需要使用类型转换 |
_dict.values() | 获取所有值 |
_dict.items() | 获取所有的键值对 |
_dict = {'name':'lvyq','age':12} #查询所有键 keys() dict_keys 并非列表类型 ,是一个dict_keys类型,需要用list转换。python3做的优化 print("获取的值:{},对应的类型:{},转换成列表后:".format(_dict.keys(),type(_dict.keys())),list(_dict.keys())) print("获取的值:{},对应的类型:{},转换成元组后:".format(_dict.values(),type(_dict.values())),tuple(_dict.values())) print("获取的值:{},对应的类型:{},转换成字典后:".format(_dict.items(),type(_dict.items())),dict(_dict.items()))
运行结果
2.修改
2.添加
1. _dict('key')='值'
当key在字典中存在时,则会更新,不存在时,则往字典中添加相应的键值对
_dict = {'name':'lvyq','age':12} print("原始值:%s"%_dict) _dict['age']=22 print("修改后:%s"%_dict) _dict['job']='IT' print("修改后:%s"%_dict)
运行结果
原始值:{'name': 'lvyq', 'age': 12}
修改后:{'name': 'lvyq', 'age': 22}
修改后:{'name': 'lvyq', 'age': 22, 'job': 'IT'}
2
setdefault('key','值')
与上面不同的是当key在字典中存在时,则不会更新,同时会返回所要添加的key所对应的值,不存在,则添加并返回所添加的键值对对应的值
_dict = {'name':'lvyq','age':12} print("新增前:%s"%_dict) _set_vauel=_dict.setdefault('age',62) print("修改后:{},修改的值为:{}".format(_dict,_set_vauel)) _set_vauel=_dict.setdefault('job','IT') print("修改后:{},修改的值为:{}".format(_dict,_set_vauel))
运行结果
新增前:{'name': 'lvyq', 'age': 12}
修改后:{'name': 'lvyq', 'age': 12},修改的值为:12
修改后:{'name': 'lvyq', 'age': 12, 'job': 'IT'},修改的值为:IT
3.修改
1.使用_dict['key']的方式,可以修改值。(上面已经提到了)
2.update() ,将_dict2的值更新到_dict中,当两个字典中存在相同的key时,则后面字典中key对应的值更新至前面字典中key所对应的值
_dict.update(_dict2)
_dict = {'name':'lvyq','age':12} print("_dict的值:%s"%_dict) _dict2={'name':'小明','job':'IT'} print("_dict2的值:%s"%_dict2) _dict.update(_dict2) print("更新后_dict的值:%s"%_dict)
运行结果
_dict的值:{'name': 'lvyq', 'age': 12}
_dict2的值:{'name': '小明', 'job': 'IT'}
更新后_dict的值:{'name': '小明', 'age': 12, 'job': 'IT'}
4.删除
1.del _dict['key'] 通过键删除键值对
2._dict.pop('key') 通过键删除,并返回对应的值
3._dict.clear() 清空
4._dict.popitem() 随机删除某组键值对(基本不用)
_dict = {'name':'lvyq','age':12,'Job':'IT'} #根据键删除键值对 del _dict['name'] print("del 删除后结果:%s"%_dict) #删除,并返回该键值对的值 age =_dict.pop('age') print("删除age后:{},删除key对应的值{}".format(_dict,age)) #清空 _dict.clear() print(_dict)
运行结果
del 删除后结果:{'age': 12, 'Job': 'IT'}
删除age后:{'Job': 'IT'},删除key对应的值12
{}
其它
字典的创建除了上面提到的两种,还可以使用fromkeys()创建
dict.fromkeys(seq,'value')
创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值
_dict=dict.fromkeys(['one','two','three'],'value') _dict2=dict.fromkeys('ABC','value') _dict3=dict.fromkeys(['one','two','three'],[1,2]) print(_dict) print(_dict2) print(_dict3)
运行结算
{'one': 'value', 'two': 'value', 'three': 'value'}
{'A': 'value', 'B': 'value', 'C': 'value'}
{'one': [1, 2], 'two': [1, 2], 'three': [1, 2]}
二、字典遍历
_dict = {'name':'lvyq','age':12} for i in _dict: print("遍历1",i,dict[i]) for i,v in _dict.items(): print("遍历2",i,v)
推荐使用第一种,第一种效率相对较高,第二种中间存在了数据类型转换的过程
这篇关于python3-基础篇-09-字典的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门