前面大概提了一下python中的映射数据结构,这这篇文章中,我们详细说一下python 中唯一的一个内置映射类型,其中的值不是按照顺序排列的,而是存储在键下,键可能是数字、字符串、或元组。
字典:字典由键和其对应的值组成,每个键与其值之间都用冒号(:)分隔,这种键值对称为项,项之间用逗号分隔,而整个字典放在花括号内,空字典用花括号表示,类似于:{};
1、dict类:使用dict从其他映射创造字典。
xajh1=[("东方不败","葵花宝典"),("风清扬","独孤九剑")]
a=dict(xajh1)
b=dict(name1="葵花宝典",name2="独孤九剑")
print(a)
print(b)
输出结果:
{'东方不败': '葵花宝典', '风清扬': '独孤九剑'}
{'name1': '葵花宝典', 'name2': '独孤九剑'}
2、基本的字典操作。字典的基本行为在很多方面都类似于序列。
xajh={"name":"东方不败","语文":23,"数学":80,"英语":90,"化学":89}
print(xajh)
print(len(xajh))#计算字典的项数
print(xajh["name"])#返回键对应的值
del xajh["化学"]#删除指定键的项
xajh["name"]="风清扬"#将值替换到指定的键
print(xajh)
f="name" in xajh
print(f)
输出结果:
{'name': '东方不败', '语文': 23, '数学': 80, '英语': 90, '化学': 89}
5
东方不败
{'name': '风清扬', '语文': 23, '数学': 80, '英语': 90}
True
注:字典中的键可以是整数,但并非必须是整数。字典中的键可以是任何不可变的类型,如浮点数、字符串、元组等。
即便是字典中原本没有的键,也可以给他赋值,这将在字典中给他创建一个新项。然而列表不可以。
3、clear:删除所有的字典项。
xajh={"name":"东方不败","语文":23,"数学":80,"英语":90,"化学":89}
xajh.clear();
print(xajh)
输出结果:
{}
4、copy返回一个新字典,其中包含的键值对与原字典相同。
xajh={"name":"东方不败","语文":23,"数学":80,"英语":90,"化学":89}
xajh1=xajh.copy()
print(xajh)
print(xajh1)
运行结果:
{'name': '东方不败', '语文': 23, '数学': 80, '英语': 90, '化学': 89}
{'name': '东方不败', '语文': 23, '数学': 80, '英语': 90, '化学': 89}
5、items:包含一个所有字典的列表。
xajh={"name":"东方不败","语文":23,"数学":80,"英语":90,"化学":89}
xajh.items();
print(xajh.items())
print(list(xajh.items()))
运行结果:
dict_items([('name', '东方不败'), ('语文', 23), ('数学', 80), ('英语', 90), ('化学', 89)])
[('name', '东方不败'), ('语文', 23), ('数学', 80), ('英语', 90), ('化学', 89)]