一对一的字典
在Python中,将两种数据关联在一起形成一个元素, 由多个这样的元素组成的数据类型称为字典,又称为dict。
字典中的元素是不考虑排列顺序的。
组成字典元素(item)的两个数据一一对应,分别被称为键(key)
与值(value)
,所以字典的元素又称为键值对(key-value)
。
字典的元素只能通过键来查找对应的值,所以一个键只能对应一个值。
就像在通讯录中,我们通过联系人(键)来查找联系方式(值)。
在Python中,字典的键值对由冒号分割。冒号左边的数据为键,冒号右边的数据为值。
将多个这样的数据以逗号分割,存储到一个大括号中,就形成了一个字典类型。
products = {"口香糖": 15, "可乐": 5.5, "薯片": 45}
print(products)
代码的作用
创建一个字典"products"来存储商品信息,然后为他存储三个元素:
"15元的口香糖","5.5元的可乐","45元的薯片"。
使用print输出了整个字典。
products
一串字母,字典的变量名。
{ }
一对花括号,是字典存储数据的固定格式。
字典的键
三个字符串分别作为字典的三个键。
字典中的键可以由任意不可修改 的数据类型组成(数字,字符串,元组)。
字典的键是唯一的,即一个字典不会有两个相同的键。
字典的值
三个数字分别作为字典的三个值。字典中的值可以是任意数据类型。
:
三个冒号,用来连接键与值。
,
两个逗号,分割字典中的多个元素。
代码小结
当我们要定义一个dict操作时,可以使用下面的格式
作为一种数据结构,字典和列表一样,也会有查找、删除、添加、修改 等功能。
但由于字典的元素,是由键值对(key-value)组成,并且字典是没有顺序的结构,因此在功能的使用上,有所不同。
查找元素
从列表中查找一个元素时,我们通过这个元素的索引,来进行查找。
但字典是没有顺序的,也就没有索引 ,所以只能通过字典的键(key)来查找对应的值(value)。
删除元素
从列表中删除一个元素时,我们使用pop()功能,通过这个元素的索引,来进行删除。
在字典中,我们依旧使用pop()功能,通过这个元素的键,来进行删除。
列表是可变的,可以通过索引修改元素,也可以通过append添加内容。
事实上,字典也是一种可变的数据类型。这意味着除了查找与删除,我们也可以对字典进行添加与修改。
但是字典的添加与修改过程与列表不同。
字典的添加与修改
products = {"name": "可乐", "type": "饮品", "price": 5}
products["other"] = "七折"
print(products)
代码的作用
创建一个字典"products"来存储选择的商品信息,然后为它存储三个键值对:
"商品的名字为可乐","商品的类型为饮品","商品的价格为5"。
第2行:为字典添加一个元素:"其它优惠活动为七折"。
字典名
要修改的字典变量名
中括号
中括号,设置要添加的键
添加的键
指定一个新的键。
字典的键可以是任何不可改变的数据类型(字符串,数字,元组等)。
=
等号=
,赋值符号。
添加的值
一个字符串,表示要添加的值
修改元素
字典的键是不能重复的。当我们尝试添加一个已经存在的键时,就会将该元素覆盖。
所以对字典的修改,就是对字典的某个已经存在的键重新赋值。
代码小结
当我们要为字典添加或者修改一个元素时
以上就是对字典的查找、删除、添加与修改操作。
目前为止的两种可以修改的数据类型,即字典与列表。现在我们来比较一下这两种数据类型在操作上的不同之处。
若我们不知道字典有哪些键怎么办?
在字典中,我们还可以通过"keys()
"功能获取这个字典所有的键。
keys()
是字典的一个功能,它能够提取一个字典所有的键,并存储在一个类似于列表的名为dict_keys的数据中,方便我们查看该字典的键。
需要注意,keys的右边有一对空的括号。
除了使用"keys()"以外,我们也可以通过in运算来检查字典是否包含某个键。