目录
前言
在上篇文章中,我们学习了if语句,在这篇文章,我们将学习能够将相关信息关联起来的Python字典。
字典
在Python中字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号(: ),分割每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2, key3 : value3 }
- 键必须是唯一的,但值则不必。
- 值可以取任何数据类型,但键必须是不可变的,如字符串,数字。
访问字典中的值
要获取与键相关联的值,可依次指定字典名和放在方括号内的键,如下所示:
foods = {'Name': 'beef', 'price': 20, 'Class': 'First'}
print ("foods['Name']: ", foods['Name'])
print ("foods['price']: ", foods['price'])
输出结果为:
foods['Name']: beef
foods['price']: 20
添加键-值对
字典是一种动态结构,可随时在其中添加键-值对。要添加键-值对,可依次指定字典、用方括号括起的键和相关联的值。例如:
foods = {'Name': 'beef', 'price': 20, 'Class': 'First'}
print (foods)
foods["Ishave"]=have #添加一个键为"Ishave",值为"have"的键值对
print (foods)
输出结果为:
{'Name': 'beef', 'price': 20, 'Class': 'First'}
{'Name': 'beef', 'price': 20, 'Class': 'First', 'Ishave': 'have'}
Python不关心键-值对的添加顺序,而只关心键和值的关联关系。
修改键-值对
修改键-值对,只要把键对应的值重新赋值就可以了,例如:
foods = {'Name': 'beef', 'price': 20, 'Class': 'First'}
print (foods)
foods["price"]=30 #把键为"price"的值改为"30"
print (foods)
输出结果为:
{'Name': 'beef', 'price': 20, 'Class': 'First'}
{'Name': 'beef', 'price': 30, 'Class': 'First'}
删除键-值对
对于字典不再需要的信息,可使用del语句将相应的键-值对彻底删除,能删单一的元素也能清空字典。例如:
food = {'Name': 'beef', 'price': 7, 'Class': 'First'}
del food['Name'] # 删除键 'Name'
print(food)
food.clear() # 清空字典
print(food)
输出结果为:
{'price': 7, 'Class': 'First'}
{}
注意:
- 使用del语句时,必须指定字典名和要删除的键;
- 删除的键-值对永远消失了
字典键的特性
字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
- 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被存储使用;
- 键必须不可变,所以可以用数字,字符串或元组充当,不能用列表来充当。
字典内置函数及方法
Python字典包含了以下内置函数:
函数 | 描述 |
len(dict) | 计算字典元素个数,即键的总数。 |
str(dict) | 输出字典,以可打印的字符串表示。 |
type(variable) | 返回输入的变量类型,如果变量是字典就返回字典类型。 |
Python字典包含了以下内置方法:
方法 | 描述 |
.clear() | 删除字典内所有元素 |
.copy() | 返回一个字典的浅复制 |
.fromkeys() | 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
.get() | 返回指定键的值,如果键不在字典中返回 default 设置的默认值 |
key in dict | 如果键在字典dict里返回true,否则返回false |
.items() | 以列表返回可遍历的(键, 值) 元组数组 |
.keys() | 返回一个迭代器,可以使用 list() 来转换为列表 |
.setdefault() | 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
.update() | 把字典dict2的键/值对更新到dict里 |
.values() | 返回一个迭代器,可以使用 list() 来转换为列表 |
pop(key[,default]) | 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值 |
popitem() | 随机返回并删除字典中的最后一对键和值 |
最后
好了,Python字典就讲到这里了,有讲的不好的地方,请评论区告诉我,下篇内容——Python如何遍历字典,敬请期待!!!