浅谈Python字典中最灵活的键值对容器
在 Python 的数据类型家族里,字典(Dictionary)是一种高效且强大的组合数据类型。它不像列表那样依赖顺序索引,而是通过键(Key)来唯一标识和访问值(Value),非常适合存储和处理具有映射关系的数据。
一、什么是字典?
字典是一种无序的键值对(Key-Value Pair)集合,用花括号 {} 包裹。
- 键(Key):必须是唯一且不可变的类型(如字符串、数字、元组),不能是列表或字典。
- 值(Value):可以是任意数据类型,包括数字、字符串、列表、元组甚至是另一个字典。
一个典型的字典结构:
d = {"202101": "张三", "202102": "李四", "202103": "王五"}
print(d, len(d), type(d))这个字典用学生姓名作为键,对应的分数作为值,清晰地表达了“学生-分数”的映射关系。
二、创建字典
不仅可以用dict表示字典类型,也可以用 dict() 函数创建空字典。
a = dict() a["202104"] = "赵六" print(a)
获取字典元素
当要获取字典中的元素时,不能使用索引或切片的方法,学需要使用键取值。
d = {"202101": "张三", "202102": "李四", "202103": "王五"}
print(d["202102"])三、字典的常用方法
- clear() 方法:清空字典所有内容。
- get(参数1,参数2) 方法:查找参数中是否为字典中的键。如果是字典中的键,则返回键对应的值。如果不是字典中的键,返回参数2的信息,如果参数2没有填入内容时可以返回默认值 None。
d = {"202101": "张三", "202102": "李四", "202103": "王五"}
print(d.get("202102"))
print(d.get("202104"))
print(d.get("202104", "查询不到"))• keys():获取字典中全部键的信息。
d = {"202101": "张三", "202102": "李四", "202103": "王五"}
print(d.keys())如果需要使用键信息,可以使用强制转换数据类型函数list()将返回的信息转换为列表型数据。
d = {"202101": "张三", "202102": "李四", "202103": "王五"}
print(list(d.keys()))• values():获取字典所有的值。
d = {"202101": "张三", "202102": "李四", "202103": "王五"}
print(d.values())• items():获取字典所有的键值对信息。
d = {"202101": "张三", "202102": "李四", "202103": "王五"}
print(d.items())• pop() 方法:删除字典中的数据,当参数是键时,将删除字典中相应键值对。
d = {"202101": "张三", "202102": "李四", "202103": "王五"}
a = d.pop("202102")
print(d, a)四、 遍历字典
1.如果需要访问字典中的所有的内容,可以使用for循环来对字典进行遍历。
d = {"202101": "张三", "202102": "李四", "202103": "王五"}
for a in d:
print(a)2.如果要访问字典中键对应的值,可以在print()加入d[a]。
d = {"202101": "张三", "202102": "李四", "202103": "王五"}
for a in d:
print(a, d[a])3.如果需要同时获取字典中的键信息和值信息。
d = {"202101": "张三", "202102": "李四", "202103": "王五"}
for a in d.items():
print(a)五、数据的维度
可以使用列表和字典表示不同维度的数据。
ls = [['日期', '芯片', '手机', '智能设备'],\
['1日', 4556.448898, 1412.691145, 1070.940706],\
['2日', 5857.880571, 1103.11709, 742.1934921],\
['3日', 1435.169954, 672.2047677, 74.65002242],\
['4日', 1448.831392, 437.9865427, 10.04904148]]
如果要获取该二维数据的某个元素,
ls[1][2]
六、字典的典型应用场景
用字典统计学生投票的班长选举结果:
ls = []
while True:
name = input('请输入您要投票的内容:')
if name != '结束':
ls.append(name)
else:
break
D = dict()
for vote in ls:
D[vote] = D.get(vote, 0) + 1
print(D)
到此这篇关于浅谈Python字典中最灵活的键值对容器的文章就介绍到这了,更多相关Pytho 字典键值对容器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python机器学习库之Scikit-learn基本用法详解
Scikit-learn 是 Python 中最著名的机器学习库之一,它提供了大量实用的机器学习算法以及相关的工具,可以方便我们进行数据挖掘和数据分析,在这篇文章中,我们将介绍 Scikit-learn 的基本使用,包括如何导入数据、预处理数据、选择和训练模型,以及评估模型的性能2023-07-07
python安装mysql-python简明笔记(ubuntu环境)
这篇文章主要介绍了python安装mysql-python的方法,测试环境为ubuntu,较为详细的记录了安装mysql-python过程中遇到的问题与解决方法,具有一定参考借鉴价值,需要的朋友可以参考下2016-06-06
自己搭建resnet18网络并加载torchvision自带权重的操作
这篇文章主要介绍了自己搭建resnet18网络并加载torchvision自带权重的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-05-05
Python Tornado框架轻松写一个Web应用的全过程
Tornado全称Tornado Web Server,是一个用Python语言写成的Web服务器兼Web应用框架,Tornado走的是少而精的方向,注重的是性能优越,它最出名的是异步非阻塞的服务器方式,这篇文章主要给大家介绍了关于Python Tornado框架轻松写一个Web应用的相关资料,需要的朋友可以参考下2021-08-08
pycharm2022.1最新永久激活码破解补丁一键安装教程免费分享(2022持续更新)
更新到Pycharm 2022.2.x版,pycharm2022.2最新可用永久激活码分享(持续更新),pycharm激活补丁一键安装简单方便,无需手动修改文件,兼容苹果MAC,linux,Windows系统2022-07-07


最新评论