博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。


一、背景

  在实际开发过程中,我们会遇到需要将相关数据关联起来的情况,例如,处理学生的学号、姓名、年龄、成绩等信息。另外,还会遇到需要将一些能够确定的不同对象看成一个整体的情况。Python提供了字典和集合这两种数据结构来解决上述问题。这里介绍一下python字典的创建相关知识。


二、字典的创建

  字典是Python中常用的一种数据存储结构,它是由“键-值”对组成,每个“键-值”对称为一个元素,每个元素表示一种映射或对应关系。
  “键”可以是Python中任意不可变数据,如整数、实数、复数、字符串、元组等类型,但不能使用列表、集合、字典或其他可变类型作为字典的“键”。
  “值”可以取任意数据类型。

1.直接赋值创建字典

  直接赋值创建字典的一般格式如下:

变量名 = {键1:值1, 键2:值2, 键3:值3,…}

  例如:创建一个学生信息字典,包括学生学号、姓名和性别三个元素。

stu_info = {'num':'20180101', 'name':'Liming', 'sex':'male'}	#创建字典
print(stu_info)   #查看字典

  结果如下:
在这里插入图片描述
  字典中元素打印出来的顺序与创建时的顺序不一定相同,这是因为字典中各个元素并没有前后顺序。


2.使用内置函数dict()创建字典

  还可以用内置函数dict()通过其他“字典”、“(键,值)”对的序列或关键字参数来创建。
  例:使用内置函数dict()创建字典。

stu_info2 = dict(stu_info1)						#通过其他字典创建
stu_info3 = dict([('num', '20180101'), ('name', 'Liming'), ('sex', 'male')])	#通过“(键,值)”对的序列创建
stu_info4 = dict(num = '20180101', name = 'Liming', sex = 'male') 	#通过关键字参数创建
stu_info5 = dict(zip(['num', 'name', 'sex'], ['20180101', 'Liming', 'male'])) 	#通过dict和zip结合创建
if stu_info1 == stu_info2 == stu_info3 == stu_info4 == stu_info5:		#判断五个变量是否相等
    print("创建字典的5种方式相同")					#如果相同输出提示符
else:								#如果不相同
    print("创建字典的5种方式不相同")					#输出提示符

  结果如下:
在这里插入图片描述

  zip()函数将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的zip对象。例如:

list_str = ['a', 'b', 'c', 'd']				#创建列表并赋值
list_num = [1, 2, 3, 4]				#创建列表并赋值
list_new = zip(list_str, list_num)			#打包为元组组成的zip对象
print("zip结果(列表):", list(list_new))		#用list()函数转换为列表输出

  结果如下。
在这里插入图片描述


3.使用fromkeys()方法创建字典

  在Python中,当所有键对应同一个值时,可使用fromkeys()方法创建字典。

  • seq为字典“键”值列表
  • value为设置键序列(seq)的值,省略时默认为None

dict.fromkeys(seq[,value])

  例如:

stu_age1 = dict.fromkeys(['Wangwu', 'Zhangsan'])  # 创建字典,“键”值默认为None
print(stu_age1)  # 输出stu_age1

stu_age2 = dict.fromkeys(['Wangwu', 'Zhangsan'], '18')  # 创建字典,“键”值默认为18
print(stu_age2)  # 输出stu_age2

  结果如下。
在这里插入图片描述

  字典中的“键”是唯一的,创建字典时若出现“键”相同的情况,则后定义的“键-值”对将覆盖先定义的“键-值”对。例如:

x = {'a': 1, 'b': 2, 'b': '3'}  # 直接赋值创建字典x
print(x)  # 输出字典x

  结果如下。
在这里插入图片描述


三、参考

1、廖雪峰的官网
2、python官网
3、Python编程案例教程


四、总结

  以上就是就是关于python字典的创建相关知识,可以参考一下,觉得不错的话,欢迎点赞、收藏、在看,欢迎微信搜索关注java基础笔记,后面会不断更新相关知识,大家一起进步。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐