Python字典
什么是字典?
答:字典是一种数据结构,它模仿现实生活中的一种物品:新华字典。
换句话说:字典在编程中就是模仿新华字典来组织和存储的数据。
现实生活中的参考图如下:
将上例转换成Python的代码后,如下:
aaa = {
"弓" : "张",
"木" : "李",
"文" : "刘"
}
print(aaa)
其中
一对大括号 是创建字典的特定语法,其内部的每一行称为一组 键值对 ,
而键值对的左侧存的是部首(键),右侧存的是此键对应的汉字(值),中间用 冒号 隔开。
多个键值对之间用 逗号 隔开,最后赋值给一个变量保存即可。
在 Python 中,一个列表变量其实是其内置类dict
的一个实例(Python会自动转换)。
下面是常见的字典用法:
读取
使用 键 来访问字典中的 值 。
其语法是: 字典名 带上一对 中括号 ,里面填入 键 即可。
📘 示例
aaa = { "弓" : "张" , "木" : "李" , "文" : "刘" } # 键值对可以缩写在同一行
value = aaa["弓"]
print(value) # 输出:张
添加键值对
将 新值 直接赋值给 新键 即可。
即:字典名[新键] = 新值
📘 示例
aaa = { "弓" : "张" , "木" : "李" , "文" : "刘" }
print(aaa)
# 输出:{'弓': '张', '木': '李', '文': '刘'}
aaa["子"] = "孙"
print(aaa)
# 输出:{'弓': '张', '木': '李', '文': '刘', '子': '孙'}
删除键值对/移出键值对
使用 del 关键字即可。
即:del 字典名[键]
📘 示例
aaa = { "弓" : "张" , "木" : "李" , "文" : "刘" }
print(aaa)
# 输出:{'弓': '张', '木': '李', '文': '刘'}
del aaa["弓"]
print(aaa)
# 输出:{'木': '李', '文': '刘'}
修改值/替换值
将 新值 直接赋值给 键 即可。
即:字典名[键] = 新值
📘 示例
aaa = { "弓" : "张" , "木" : "李" , "文" : "刘" }
print(aaa)
# 输出:{'弓': '张', '木': '李', '文': '刘'}
aaa["木"] = "林"
print(aaa)
# 输出:{'弓': '张', '木': '林', '文': '刘'}
空字典
📘 示例
aaa = {} # 什么都不填,则为一个空的字典
print(aaa) # 输出:{}
遍历
📘 示例
aaa = { "弓" : "张" , "木" : "李" , "文" : "刘" }
for key in aaa:
value = aaa[key] # 每循环一次就能读到一个新的key
print(key, value)
# 输出多行:
# 弓 张
# 木 李
# 文 刘
其中
for…in… 是特定语法(意思:从中取得),与while
一样也是一种循环控制语句。
先写入for,带上一个 变量名 来存储每次循环取得的键,
再写入in,带上一个要从中读取的 目标内容 (上例中是字典)。
当目标没有内容可再读取时,循环会自动结束。
在 Python 中,字典需要此特殊语法才能遍历到其成员。
若你没有安装Python,可在官网 min2k.com 上直接在线编写和运行本篇的代码。
本篇的练习题如下:
第1题
创建一个字典friends,包含你两个以上朋友的名字作为键,值为他们的年龄。
打印此字典的长度。
第2题
创建一个字典friends,包含你三个朋友的名字作为键,值为他们的年龄。
使用循环打印出每个朋友的名字。
第3题
创建一个字典box,包含你喜欢的三个食物作为键,值为它们的数量。
使用循环打印出每个食物的数量。
请认真完成所有练习题,勤加练习有助于快速提升你的编程能力。
更多练习题在 https://www.min2k.com/course/docs/beginner/dictionary