目录
- 一、背景
- 二、字典的创建
- 1.直接赋值创建字典
- 2.使用内置函数dict()创建字典
- 3.使用fromkeys()方法创建字典
- 三、参考
- 四、总结
一、背景
在实际开发过程中,我们会遇到需要将相关数据关联起来的情况,例如,处理学生的学号、姓名、年龄、成绩等信息。另外,还会遇到需要将一些能够确定的不同对象看成一个整体的情况。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
结果如下。
三、参考
python官网、Python编程案例教程
四、总结
以上就是就是关于python字典的创建相关知识