Python中的字典在其他语言中有不同的称呼,比如JS中叫做对象,PHP中叫做数组等等,各有各的称呼,但是个人觉得字典这个名称比较合适,字典反映了这种数据类型的特性,表示通过某个值去查找另一个值。python中的字典就是通过一个键查找一个值,在后面的数据库的表对象查找的时候也是使用类似的方法,JSON数据的查找也是类似方法......


字典的作用:

  • 1.通过有意义的键查找目标数据;
  • 2.查询效率会提高,类似于汉语字典

字典是一种无序且可变的键值对集合,也是数据类型的一种,字典中的键和值是一一对应的映射关系。本章节的字典学习是十分重要的,对于后面很多知识的学习都有帮助,下面我们就来看看字典的构造方法。

字典的构造方法:

1.直接创建一个键值对数据集合——字典
dict1 = {'name': 'Tom', 'age': 18, 'love': 'python'}
print(dict1, type(dict1))

返回结果:

{'name': 'Tom', 'age': 18, 'love': 'python'}
<class 'dict'>

注意:字典中的键不能重复

dict1 = {'name': 'Tom', 'age': 18, 'name': 'python'}
print(dict1)

返回结果:

{'name': 'python', 'age': 18}

注意:字典中的键只能是不可变数据类型

dict1 = {(1, 2, 3): 'Tom', 'age': 18, 'name': 'python'}
print(dict1)
dict1 = {[1, 2, 3]: 'Tom', 'age': 18, 'name': 'python'}
print(dict1)

返回结果:

{(1, 2, 3): 'Tom', 'age': 18, 'name': 'python'}
TypeError: unhashable type: 'list'
2.使用formkeys()创建字典
dict2 = dict.fromkeys('python', 'JavaScript') 
 # 第一个参数是可迭代数据,第二个是值,不写为None
print(dict2)

返回结果:

{'p': 'JavaScript', 'y': 'JavaScript', 't': 'JavaScript', 'h': 'JavaScript', 'o': 'JavaScript', 'n': 'JavaScript'}
3.dict()创建字典
# 3.dict()
# a = dict(str1=value1, str2=value2, str3=value3)
# 方式1
demo1 = [('name', 'Tom'), ('age', 18), ('sex', '男')]
# 方式2
demo2 = [['name', 'Tom'], ['age', 18], ['sex', '男']]
# 方式3
demo3 = (('name', 'Tom'), ('age', 18), ('sex', '男'))
# 方式4
demo4 = (['name', 'Tom'], ['age', 18], ['sex', '男'])
a1 = dict(demo1)
a2 = dict(demo2)
a3 = dict(demo3)
a4 = dict(demo4)

keys = ['one', 'two', 'three']
values = [1, 2, 3]
a = dict(zip(keys, values))

文章来源:www.wakey.com.cn/document-dict-structure.html


村长
7 声望4 粉丝