失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python的字典-使用字典+遍历字典+字典嵌套

python的字典-使用字典+遍历字典+字典嵌套

时间:2020-06-22 18:45:47

相关推荐

python的字典-使用字典+遍历字典+字典嵌套

在python中字典是键值数据项的组合,以{key:value}形式存在。与列表相比,字典是无序,通过key来访问成员,而列表是通过位置来访问成员的。

python中的字典说明:

1.字典可以存储任意类型对象;

2.每个键值key:value之间必须用冒号“:”分隔,不同键值之间用“,”分隔;整个字典用包括在{}中;

3.每个“key:value”键值中key必须是唯一的、不变的(因为键值对的值是通过key获取value)

本文将分为基础使用字典、遍历字典字典嵌套三部分来描述。

一、使用字典

本部分讲字典的创建-增-删-改-查(访问)(几个操作均明确字典名及key、value)以及字典相关的内置函数。

1.创建

创建字典可直接通过:

字典名 = {key0:value0,key1:value1,key2:value2,…}

有时为满足项目需要,可字典名 = {},当后续使用时可再进行添加及处理。

#创建字典dict = {"name0":"张三","name1":"李四","name2":"王五"}

说明.如果调用的字典中没有这个key,执行会报KeyError提示字典中没有相对应的键,如下所示:

2.增

字典是一个动态结构,可以随时在其中添加“键值”。如下所示:

3.删

字典中不再需要的信息,可以使用del语句将相应的“键值”对应的信息删除

4.改

修改字典中值,需先指定修改的字典名及键,并和值对应起来,如下所示:

5.查

键值对的值是通过key获取value

6.字典相关的内置函数

len(dict):计算字典中元素的个数,即键的总数

str(dict):以字符串的形式展示字典

type(dict):返回输入变量类型,此处应为字典类型。具体如下:

二、遍历字典

由于字典中包含的键值对数不定,可能几个可能百万个,故在平时使用经常涉及字典的遍历。我们将从遍历key,遍历value,遍历键值对,有序遍历四个方面进行描述。

1.遍历key–内置方法keys()

在python中使用keys()能够以列表的形式返回一个字典中的所有键。

keys()没有参数,只有返回值,返回一个字典的所有的键。

在针对keys进行遍历时,使用dict.keys()同dict没有区别,如下所示:

2.遍历values()

在python中与获取key类似,遍历字典的所有值使用values()能够以列表的形式返回一个字典中的所有值。

3.遍历key:value–items()

Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。

有时候为方便数据处理,可定义两个变量分别接收key和value,如下所示:

4.按顺序遍历-sorted()

在字典中是明确记录键和值的对应关系,然而获取顺序是不可预测,当需要按照顺序进行获取时,可采用sorted()进行排序。

sorted()将数据按照顺序排列键列表的副本。

1)将key排序,并进行相应操作,如下例所示:

2)按照value进行排序,如下所示:

由于values有重复值存在的情况,利用values遍历的比较少。可使用集合(set)进行接收并去重。

此处添加values的排序意在说明排序输出,实质仅是使用sorted()的方法而已。

三、字典嵌套

在python程序中,有时需要将字典存储在列表中,有时需要将列表存储到字典,甚至字典中存储字典,这称为嵌套。

1.列表中存储字典

当涉及存储多个对象,每个对象都有一些属性。我们可以将每个对象的属性及属性值放在字典中,将众多字典作为列表的基本元素存储在列表中。例如,每个人都有姓名、身高、体重、性别,我们可以将这些属性对应存储在字典中,再将各个字典存储在列表中。当需要修改时,可按条件进行修改。程序如下所示:

person = []for i in range(0,5):person_demo = {"name":"张三","sex":"男","height":"175"}person.append(person_demo)print(person)for j in range(0,len(person)):if j == 0:person[j] ["name"] = "贝贝"elif j == 1:person[j] ["name"] = "京京"elif j == 2:person[j] ["name"] = "欢欢"elif j == 3:person[j] ["name"] = "迎迎"else:person[j] ["name"] = "妮妮"print(person)

运行结果如下:

2.字典中存储列表

在字典中,当键需要关联多个值时,多个值可以使用列表存储,如介绍一个人的爱好时,爱好存储在列表中。

person = {"name": "张三", "sex": "男", "height": "175", "爱好": ["阅读", "打乒乓球"]}

3.字典中存储字典

如上字典中存储列表,当有多个人需要存储我们可以使用字典中存储字典,里面字典选出关键属性当key值(选取姓名):

如果觉得《python的字典-使用字典+遍历字典+字典嵌套》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。