
Python--字典
示例: 直接赋值创建字典
示例: 剔除字典中重复的值
发布日期:2021-05-06 00:58:40
浏览次数:17
分类:技术文章
本文共 3036 字,大约阅读时间需要 10 分钟。
1. 字典
字典概述:在许多应用中需要利用关键词查找对应信息,例如,通过学号来检索某学生的信息。其中,通过学号查找所对应学生的信息的方式称为“映射”。Python语言的字典(dictionary)类型就是一种映射。其他编程语言中也提供类似的结构,例如,哈希(Hash)、关联数组等。
1.1 字典的创建
1.1.1 Python zip函数及用法
zip() 函数是 Python 内置函数之一,它可以将多个序列(列表、元组、字典、集合、字符串以及 range() 区间构成的列表)“压缩”成一个 zip 对象。所谓“压缩”,其实就是将这些序列中对应位置的元素重新组合,生成一个个新的元组。
zip() 函数的语法格式为:
zip(iterable, ...)
其中 iterable,… 表示多个列表、元组、字典、集合、字符串,甚至还可以为 range() 区间。
示例: 通过映像函数dict()创建字典
list1 = [1, 2, 3, 4]list2 = [5, 6, 7, 8]dictionary = dict(zip(list1, list2))print(dictionary)
运行结果:

dictionary = { "姓名: ": "周天天", "年龄: ": 20}print(dictionary)
运行结果:

1.2 字典元素的访问与遍历
示例: 通过遍历可以获取字典中的全部“键-值对”
方法 items() 返回一个键值对列表
dictionary = { "姓名: ": "周天天", "年龄: ": 20}for index, value in dictionary.items(): print(index, " : ", value)
运行结果:

示例: 遍历字典所有的键
可以使用方法 keys() 它会返回一直 键列表,或者不使用任何方法,因为遍历字典时,会默认遍历所有的键.
LiXu = { 'first_name': 'Li', 'last_name': 'Xu', 'age': 19, 'city': 'CQ',}# 默认会遍历键for xu in LiXu: print(xu)# 通过keys()方法遍历键print('----------')for xu in LiXu.keys(): print(xu)
运行结果:

示例: 按顺序遍历字典中所有的键
字典总是明确的记录键和值之间的关联关系,但获取字典的元素时,获取顺序是不可预测的,这不是问题。因为通常你想要的只是获取键相关联的正确的值。要以特定的顺序返回元素,一种办法是在for循环中对返回的键进行排序。为此可是用函数sorted()来获得按特定顺序排列的键列表的副本。
favorite_languages = { 'jen': 'python', 'sarah': 'c', 'edward': 'ruby', 'phil': 'python',}for name in sorted(favorite_languages.keys()): print(name.title() + " , thank you for taking the poll.")
示例: 遍历字典所有的值
可以使用方法 values() , 它可以返回一个值列表
favorite_languages = { 'jen': 'python', 'sarah': 'c', 'edward': 'ruby', 'phil': 'python',}for value in favorite_languages.values(): print(value)
运行结果:

这种做法是提取字典所有的值,而没有考虑是否重复. 涉及到的值很少时,这也许不是问题,但当涉及到大量的值时,最终的列表可能含有大量的重复项. 为了剔除重复项,可以使用集合(set),集合类似于列表,但不同的是每个元素必须是独一无二的.可以调用set()方法来找到不包含重复的值的集合.
favorite_languages = { 'jen': 'python', 'sarah': 'c', 'phil': 'python',}for favorite_language in set(favorite_languages.values()): print(favorite_language)
运行结果:

1.3 字典元素的常见操作
1.3.1 字典元素的增加
alien = { 'color': 'red', 'points': 5}print(alien['color'])print(alien['points'])alien['x_position'] = 5alien['y_position'] = 20print(alien)
运行结果:

1.3.2 字典元素的删除
示例: del()函数删除字典指定的键值对
LiXu = { 'first_name': 'Li', 'last_name': 'Xu', 'age': 19, 'city': 'CQ',}del (LiXu['first_name'])print(LiXu)
运行结果:

示例: del删除字典
LiXu = { 'first_name': 'Li', 'last_name': 'Xu', 'age': 19, 'city': 'CQ',}del LiXuprint(LiXu)
运行结果:

示例: clear() 函数清空字典
LiXu = { 'first_name': 'Li', 'last_name': 'Xu', 'age': 19, 'city': 'CQ',}LiXu.clear()print(LiXu)
运行结果:

示例: pop() 获取指定key 对应的value ,并删除这个key-value 对
LiXu = { 'first_name': 'Li', 'last_name': 'Xu', 'age': 19, 'city': 'CQ',}print(LiXu.pop('first_name'))print("------------")print(LiXu)
运行结果:

1.3.3 字典元素的查找
示例: 通过键值方式
LiXu = { 'first_name': 'Li', 'last_name': 'Xu', 'age': 19, 'city': 'CQ',}print(LiXu['first_name'])
运行结果:

示例: get()函数方式
LiXu = { 'first_name': 'Li', 'last_name': 'Xu', 'age': 19, 'city': 'CQ',}print(LiXu.get('first_name'))
运行结果:

发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年03月27日 12时51分57秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
5.11 TEST1
2019-03-04
6.14 阶段考试
2019-03-04
牛客IOI周赛19-普及组
2019-03-04
2020牛客NOIP赛前集训营-普及组(第四、五场)
2019-03-04
uni-app请求头中携带token
2019-03-04
常用的 Git 命令和小技巧(1)
2019-03-04
vue中接收后台的图片验证码并显示
2019-03-04
springboot入门(1)---整合MyBatis
2019-03-04
Vue入门学习笔记(1)
2019-03-04
前端入门经验——页面布局
2019-03-04
ECharts——双向柱状图
2019-03-04
Vue——引进bootstrap
2019-03-04
Vue——引进ivew
2019-03-04
趣谈win10常用快捷键
2019-03-04
趣谈文件扩展名和隐藏文件
2019-03-04
追梦App系列博客——第五次例会总结
2019-03-04
大二数据结构(图的深度遍历的 非递归算法)
2019-03-04
数学建模(NO.18灰色预测)
2019-03-04
数学建模更新12(数学线性规划模型1)
2019-03-04
数学建模更新12(多目标规划)
2019-03-04