35.字典介绍
字典
是“键值对”
的无序可变序列
,字典中的每个元素都是一个“键值对”,包含:“键 对象”
和“值对象”
。可以通过“键对象”实现快速获取、删除、更新
对应的“值对象”
。
列表
中我们通过“下标数字”
找到对应的对象。字典
中通过“键对象”
找到对应的“值 对象”。“键”是任意的不可变数据
,比如:整数、浮点数、字符串、元组。 但是:列表、 字典、集合
这些可变对象
,不能作为“键”
。并且“键”不可重复
。
“值”
可以是任意的数据,并且可重复。
一个典型的字典的定义方式:
a = {'name':'onepis','age':18,'job':'programmer'}
字典的创建
- 我们可以通过
{}
、dict()
来创建字典对象。
>>> a = {'name':'onepis','age':18,'job':'programmer'} # 1 { } 形式
>>> b = dict(name='twopis',age=18,job='teacher') # 2 直接写参数。 。这种形式经常在 写一些。 需要传入 字典的参数中 使用。
>>> a = dict([("name","threepis"),("age",18)]) # 3 列表包元组。 传入 dict
>>> c = {} #空的字典对象
>>> d = dict() #空的字典对象
- 通过
zip()+dict()
创建字典对象
>>> k = ['name','age','job']
>>> v = ['onepis',18,'techer']
>>> d = dict(zip(k,v))
# 前面 讲过 解包。 可以 自己输出一下 。看看 zip(k,v) 的类容 比如 [*zip(k,v)]
# 或者 使用循环 或者 使用 list(zip(k,v)) , 不过注意。 生成器的易失性
# zip 打包 返回 一个 zip 对象 ('name', 'onepis'), ('age', 18), ('job', 'techer')
>>> d {'name': 'onepis', 'age': 18, 'job': 'techer'}
- 通过
fromkeys
创建值为空的字典
>>> a = dict.fromkeys(['name','age','job'])
>>> a
{'name': None, 'age': None, 'job': None}