51 字典的创建

1、引入

如果有列表

nameList = ['xiaoZhang', 'xiaoWang', 'xiaoLi'];

需要对"xiaoWang"这个名字写错了,通过代码修改:

nameList[1] = 'xiaoxiaoWang'

如果列表的顺序发生了变化,如下

nameList = ['xiaoWang', 'xiaoZhang',  'xiaoLi'];

此时就需要修改下标,才能完成名字的修改

nameList[0] = 'xiaoxiaoWang'

有没有方法,既能存储多个数据,还能在访问元素的时候很方便就能够定位到需要的那个元素呢?
答:字典

2、字典的概念

生活中的字典
在这里插入图片描述
软件开发中的字典
变量info为字典类型:

info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}

Python中,字典与列表类似,也是可变序列,不过与列表不同,它是无序的可变序列,保存的内容是以“键-值对”的形式存放的。这类似于我们的新华字典,它可以把拼音和汉字关联起来,通过音节表可以快速找到想要的汉字。其中新华字典里的音节表相当于键(key),而对应的汉字,相当于值(value)。键是唯一的,而值可以有多个。字典在定义一个包含多个命名字段的对象时,很有用。

1、字典的创建

定义字典时,每个元素都包含两个部分“键”和“值”。以水果名称和价格的字典为例,键为水果名称,值为水果价格,如下图所示。
在这里插入图片描述
创建字典时,在“键”和“值”之间使用冒号分隔,相邻两个元素使用逗号分隔,所有元素放在一对“{}”中。语法格式如下:

dictionary = {'key1':'value1', 'key2':'value2',  …, 'keyn':'valuen',}

参数说明:

  • dictionary:表示字典名称。
  • key1、key2…keyn:表示元素的键,必须是唯一的,并且不可变,例如,可以是字符串、数字或者元组。
  • value1、value2…valuen:表示元素的值,可以是任何数据类型,不是必须唯一的。
    在这里插入图片描述

2、创建空字典

dictionary = {}

dictionary = dict()

3、通过映射函数创建字典

dictionary = dict(zip(list1,list2))

参数说明:
dictionary:表示字典名称。
zip()函数:用于将多个列表或元组对应位置的元素组合为元组,并返回包含这些内容的zip对象。如果想获取元组,可以将zip对象使用tuple()函数转换为元组;如果想获取列表,则可以使用list()函数将其转换为列表。
list1:一个列表,用于指定要生成字典的键。
list2:一个列表,用于指定要生成字典的值。如果list1list2的长度不同,则与最短的列表长度相同。

场景模拟:某大学的寝室里住着4位学生,将她们的名字保存在一个列表中,将她们每个人的星座对应保存在另一个列表中。
在这里插入图片描述

4、通过给定的关键字参数创建字典

dictionary = dict(key1=value1,key2=value2,…,keyn=valuen)

参数说明:
dictionary:表示字典名称。
key1,key2,…,keyn:表示参数名,必须是唯一的,并且符合Python标识符的命名规则。该参数名会转换为字典的键。
value1,value2,…,valuen:表示参数值,可以是任何数据类型,不必须唯一。该参数值将被转换为字典的值。
在这里插入图片描述

5、通过dict对象的fromkeys()方法创建值为空的字典

dictionary = dict.fromkeys(list1)

参数说明:

  • dictionary:表示字典名称。
  • list1:作为字典的键的列表。
    在这里插入图片描述

6、通过已经存在的元组和列表创建字典

在这里插入图片描述

7、练一练

使用字典存储学生名片。
如何存储所有的学生名片呢?

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值