自学Python 16 字典

Python 字典:成员以“键:值”对形式存在的数据类型



在Python程序中,字典是一种比较特别的数据类型,字典中每一个成员是以“键:值”对形式存在的。字典以大括号“{ }”包围,并且以“键:值”对的方式声明和存在的数据集合。
注意:字典与列表相比,最大的不同在于字典是无序的,其成员位置只是象征性的,在字典中通过键来访问成员,而不能通过其位置来访问该成员。

一、创建并访问字典

在Python程序中,字典可以存储任意类型对象。字典的每个键值“key:value”对之间必须用冒号“:”分隔,每个对之间用“,”分隔,整个字典包括在大括号“{ }”中。创建字典的语法格式如下所示:

d = {key : value1, key : value2}

对上述语法格式的具体说明如下所示:

  • 字典是一系列“键:值”对构成的,每个键都与一个值相关联可以使用键来访问与之相关联的值;
  • 在字典中可以存储任意个“键:值”对;
  • 每个“key:value”键值对中键(key)必须是唯一的、不可变的;
  • 键值可以取任何数据类型,可以是数字、字符串、字符串乃至字典。
    以存储学生成绩为例:
dict = {'数学': '99','语文':'96','英语':'99'}

在Python程序中,要想获取某个键的值,可以通过访问键的方式来显示对应的值。例如:

dict = {'数学': '99','语文':'96','英语':'99'}
print("语文成绩是:",dict['语文'])
print("英语成绩是:",dict['英语'])
print("数学成绩是:",dict['数学'])

输出结果是:
在这里插入图片描述
注意:如果调用的字典中没有这个键。执行后会输出执行错误的提示。

二、向字典中添加数据

在Python程序中,字典是一种动态结构,可以随时在其中添加“键值”对。在添加“键值”对时,需要首先指定字典名,然后用中括号将键括起来,然后在最后写明这个键的值。例如在上例中添加两个“键值”对:

dict = {'数学': '99','语文':'96','英语':'99'}
print(dict)
dict['物理'] = 88	#添加物理成绩
dict['化学'] = 92	#添加化学成绩
print(dict)

输出结果是:
在这里插入图片描述
注意:Python不关心键值对的添加顺序,只关心键和值之间的关联关系。

三、修改字典

在Python程序中,要想修改字典中的值,需要首先指定字典名,然后使用中括号把将要修改的键和新值对应起来。例如:

dict = {'数学': '99','语文':'96','英语':'99'}

print(dict)
dict['物理'] = 88
dict['化学'] = 92
print(dict)
dict['语文'] = 98; #更新语文的值
print(dict)

输出结果是:
在这里插入图片描述

四、删除字典中的元素

在Python程序中,对于字典中不在需要的信息,可以使用del语句将相应的“键值”对信息彻底删除。在使用del语句时,必须指定字典名和要删除的键,例如

dict = {'数学': '99','语文':'96','英语':'99','体育': 100}
print(dict)
del dict['体育']      #删除键“体育”的值
print(dict)

输出结果是:
在这里插入图片描述

五、和字典有关的内置函数

在Python程序中,包含了几个和字典操作相关的内置函数,具体说明如下表:

函数功能
len(dict)计算字典元素个数,即键的总数
str(dict)输出字典以可打印的字符串表示
type(variable)返回输入的变量类型,如果变量是字典就返回字典类型
dict = {'数学': '99','语文':'96','英语':'99','体育': 100}
print(len(dict))
print(str(dict))
print(type(dict))

输出结果:
在这里插入图片描述

六、遍历字典

在Python程序中,一个字典可能只包含几个“键值”对,也可能包含数百万个“键值”对。因为字典可能包含大量的数据,所以Python支持对字典遍历。因为在字典中可以使用各种方式存储信息,所以可以通过多种方式遍历字典。

6.1 遍历字典中的所有键

在Python程序中,使用内置方法keys()能够以列表的形式返回一个字典中所有键。使用方法keys()的语法格式如下:

dict.keys()

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

dict = {'数学': '99','语文':'96','英语':'99','体育': 100}
print('考试科目有:')
print(list(dict.keys()))

输出结果:
在这里插入图片描述

6.2 遍历字典中的所有值

在Python程序中,使用方法values()返回一个字典中所有值,而不包含任何键。使用方法values()的语法格式如下:

dict.values()

方法values()也没有参数,只有返回值,返回一个字典所有的值。例如:

dict = {'数学': '99','语文':'96','英语':'99','体育': 100}
print('考试成绩有:')
print(list(dict.values()))

在这里插入图片描述
注意:上述做法并没有考虑是否重复的问题。如果想剔除重复的项,可以使用集合(set)。集合类似于序列,但每个元素都必须是独一无二。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值