Python 字典的基本操作
字典的基本操作
- 一、创建字典
- 1、先创建空字典,再添加元素(键值对)
- 2、直接创建包含若干键值对的字典
- 二、读取字典元素 - 按键取值
- 三、添加与更新字典元素
- 四、遍历字典元素
- 五、删除字典元素
- 1、利用 `del` 命令删除
- 2、利用字典的 `pop()` 函数删除
- 六、基于两个等长列表创建字典
- 七、关于字典元素获取的缺省值
一、创建字典
1、先创建空字典,再添加元素(键值对)
- 给字典按键赋值时,如果键不存在,则添加新元素,否则就是用新值替换旧值
names = dict()
names[50] = '中华'
names[40] = '荷花'
names[30] = '宽窄'
names[20] = '利群'
print(names)
输出结果:
{50: '中华', 40: '荷花', 30: '宽窄', 20: '利群'}
2、直接创建包含若干键值对的字典
In [7]:cities = {1: '北京', 2: '上海'}In [8]:cities
Out[8]: {1: '北京', 2: '上海'}
二、读取字典元素 - 按键取值
- 按键取值,如果键存在,那么返回值;如果键不存在,那么抛出异常
In [9]:names
Out[9]: {50: '中华', 40: '荷花', 30: '宽窄', 20: '利群'}In [10]:names[50]
Out[10]: '中华'In [11]:names[10]
Traceback (most recent call last):File "<ipython-input-11-f29237377a3d>", line 1, in <module>names[10]KeyError: 10
三、添加与更新字典元素
- 按键赋值,添加新元素(不存在的键)
- 如果键存在,则更新旧元素的值
In [12]:names
Out[12]: {50: '中华', 40: '荷花', 30: '宽窄', 20: '利群'}In [13]:names[10] = '牡丹' # 添加元素In [14]:names[20] = '黄鹤楼' # 更新元素In [15]:names
Out[15]: {50: '中华', 40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '牡丹'}
- 可以将一个字典拆分成两个列表:键列表和值列表
- 利用
keys()
返回键列表 - 利用
values()
返回值列表
In [15]:names
Out[16]: {50: '中华', 40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '牡丹'}In [17]:names.keys() # 键列表
Out[17]: dict_keys([50, 40, 30, 20, 10])In [18]:names.values() # 值列表
Out[18]: dict_values(['中华', '荷花', '宽窄', '黄鹤楼', '牡丹'])
- 利用
update()
也可以进行插入或更新操作
In [19]:names
Out[19]: {50: '中华', 40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '牡丹'}In [20]:names.update({10: '云烟', 5: '黄山'}) # 更新'10',添加'5'In [21]:names
Out[21]: {50: '中华', 40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '云烟', 5: '黄山'}
四、遍历字典元素
- 利用字典的
key()
函数拿到键列表
names = {50: '中华', 40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '云烟', 5: '黄山'}
for key in names.keys():print('{}{}元'.format(names[key], key))# 也可以用 get() 获取该键所对应的值# print('{}{}元'.format(names.get(key), key))
输出结果:
中华50元
荷花40元
宽窄30元
黄鹤楼20元
云烟10元
黄山5元
五、删除字典元素
1、利用 del
命令删除
- 删除的键不存则抛出异常
In [21]:names
Out[21]: {50: '中华', 40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '云烟', 5: '黄山'}In [22]:del names[50]In [23]:names
Out[23]: {40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '云烟', 5: '黄山'}
2、利用字典的 pop()
函数删除
- 删除的键不存则抛出异常
In [23]: names
Out[23]: {40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '云烟', 5: '黄山'}In [24]: names.pop(5)
Out[24]: '黄山'In [25]: names
Out[25]: {40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '云烟'}
六、基于两个等长列表创建字典
- 基于城市列表和市花列表
cities = ['北京', '上海', '广州 ']
flowers = ['菊花', '玉兰', '木棉']
city_flower = dict(zip(cities, flowers))
print(city_flower)
输出结果:
{'北京': '菊花', '上海': '玉兰', '广州 ': '木棉'}
七、关于字典元素获取的缺省值
get()
函数返回指定键的值。get()
语法:dict.get(key, default)
key
– 字典中要查找的键。default
– 如果指定键的值不存在时,返回的默认值。默认为 None- 返回指定键的值,如果键不在字典中返回 default 默认值
names = {40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '云烟'}
name_1 = names.get(40)
name_2 = names.get(50)
name_3 = names.get(50, '不存在')
name_4 = names.get(30, '不存在')
print('name_1:{}\nname_2:{}\nname_3:{}\nname_4:{}'.format(name_1, name_2, name_3, name_4))
输出结果:
name_1:荷花
name_2:None
name_3:不存在
name_4:宽窄
Python 字典的基本操作相关推荐
- python字典常用的操作_说说Python字典以及基本操作?
公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...
- [转载] Python字典及基本操作(超级详细)
参考链接: Python字典| values 字典是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据. 比如有份成绩表数据,语文:79,数学:80,英语:92,这组数据看上去像两 ...
- python基本使用-Python字典及基本操作(超级详细)
字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据. 比如有份成绩表数据,语文:79,数学:80,英语:92,这组数据看上去像两个列表,但这两个列表的元素之间有一定的关联关 ...
- python基础代码大全-Python字典及基本操作(超级详细)
字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据. 比如有份成绩表数据,语文:79,数学:80,英语:92,这组数据看上去像两个列表,但这两个列表的元素之间有一定的关联关 ...
- python字典及基本操作
字典是python提供的一种常用的数据类型,它用于具有映射关系的数据 比如:语文:70:数学:90:英语:80 这组数据就具有一定的关联关系,如果单纯使用两个列表来保存着这组数据,则无法记录两组数据之 ...
- python字典去重合并_Python字典及基本操作(超级详细)
Python字典及基本操作(超级详细) 收录于话题#Python入门27个 今天小张帮大家简单介绍下Python的一种数据结构: 字典,字典是 Python 提供的一种常用的数据结构,它用于存放具有映 ...
- python字典操作技巧_python的字典使用方法大全
字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 . 键一般是唯一的,如 ...
- 偷学Python第十三天:字典的基本操作
偷学Python第十三天:字典的基本操作 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志.--苏轼 文章目录 偷学Python第十三天:字典的基本操作 字典的概念 创建和使用字典 创建字典 字典的运 ...
- python字符串,列表,元组,字典的基本操作
python字符串,列表,元组,字典的基本操作 文章目录 python字符串,列表,元组,字典的基本操作 一.字符串 1.1字符串的输出 1.2字符串的输入 1.3下标和切片 1.4 字符串常见操作 ...
最新文章
- CSS3 常用属性
- sql报表按月统计_如何通过INTOUCH组态软件做EXCEL报表(含代码)
- 如何找到SAP CRM WebClient UI error message的来源
- Java文件类boolean isHidden()方法(带示例)
- 高效率人士的日常习惯
- Mr.J--JS学习(继承模式发展史)
- Bootstrap响应式工具类
- spring配合Junit进行单元测试
- void什么意思python_转换Python对象到C void类型
- 数据结构笔记(三)-- 链式实现顺序表
- Java JDK新特性探究-精简的JRE
- 神经网络模型参数的压缩
- matlab多行注释
- 滚动截屏苹果_苹果超好用的长截图软件—滚动截屏免费分享!
- PPT科研绘图:用PPT绘图,保存为eps并导入Latex
- FINAUNCE金融业增速反弹信贷投放创新高叠加股市回暖
- curl设置代理访问的方法
- PPT居然还可以一键换色!学会这4招再也不怕色了……
- 三菱机械臂demo程序
- (day16)媒体查询和响应式布局