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值(选取姓名):
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值