【Python学习】6.3 字典类型

字典类型的概念

前面学过的列表是存储和检索数据的有序序列。当访问列表中的元素时,可以通过整数索引来查找它,这个索引就是元素在列表中的序号,列表的索引模式是:<整数序号>查找<被索引内容>。

但很多应用程序需要更加灵活的信息查找方式。如,在检索学生或员工信息时,需要基于身份证号码来查找,而不是信息存储的序号。在编程术语中,根据一个信息查找另一个信息的方式构成了“键值对”,它表示索引引用的键和对应的值构成的成对关系,即通过一个特定的键来访问值。

映射:通过任意键信息查找一组数据中值的信息的过程叫做映射,映射是一种键(索引)和值(数据)的对应。在Python语言中,通过字典来实现映射。字典是键值对的集合,键值对之间是无序的,但不能重复。

字典的建立:Python语言中,字典可以通过大括号{}建立,也可以用dict()建立,键值对用冒号:表示。

{<1>:<1>,<2>:<2>,……,<n>:<n>}

前面讲过集合也可以用{}建立,但注意:空集合必须用set()建立。

下面是字典的一些应用

>>> dictionary={"China":"Beijing","USA":"Washington","France":"Pairs"}
>>> print(dictionary)
{'China': 'Beijing', 'USA': 'Washington', 'France': 'Pairs'}
>>> dictionary["China"]  #查找对应值
'Beijing'
>>> dictionary["China"]='Shanghai'  #修改值
>>> print(dictionary)
{'China': 'Shanghai', 'USA': 'Washington', 'France': 'Pairs'}

字典类型的操作函数和方法

del d[k] 删除字典d中键k对应的数据

k in d 判断键k是否在字典d中,如果在返回true,否则返回false

d.key() 返回字典d中所有的键信息

d.values() 返回字典d中所有的值信息

d.items() 返回字典d中所有的键值对信息

下面是具体的实现:

>>> d = {"China":"Beijing","USA":"Washington","France":"Pairs"}
>>> "China" in d
True
>>> d.keys()
dict_keys(['China', 'USA', 'France'])
>>> d.values()
dict_values(['Beijing', 'Washington', 'Pairs'])
>>> d.items()
dict_items([('China', 'Beijing'), ('USA', 'Washington'), ('France', 'Pairs')])

d.get(k,<default>) 键k存在,则返回对应值,不存在则返回<default>值

d.pop(k,<default>) 键k存在,则取出对应值,不在,则返回<default>值

d.popitem() 随机从字典d中取出一个键值对,以元组形式返回

d.clear() 删除所有的键值对

len(d) 返回字典d中元素的个数

下面是具体的实现:

>>> d = {"China":"Beijing","USA":"Washington","France":"Pairs"}
>>> d.get("China","London")
'Beijing'
>>> d.get("UK","London")
'London'
>>> d.pop("USA","London")
'Washington'
>>> d.popitem()
('France', 'Pairs')
>>> len(d)
2

字典类型应用场景

映射的表达

例如:统计数据出现的次数,数据是键,次数是值。

最主要的作用:表达键值对数据,进而操作它们

元素遍历:

for k in d:
    <语句块>
>>> for k in d:
	print(k)

China
USA
France

由于键值对中的键相当于索引,因此,for循环返回的变量名是字典的索引值。如果需要获得键对应的值,可以在语句块中通过get()方法获得。

    原文作者:白豆腐
    原文地址: https://zhuanlan.zhihu.com/p/54773853
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞