在 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 字典键值对容器内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论