字典 dict
字典是一种可变的容器,可以存储任意类型的数据
字典中的每个数据都是用
键(key)进行索引,而不像序列可以用下标来进行索引字典的数据没有先后顺序关系,字典的存储是无序的
字典中的数据以
键(key)-值(value)对进行映射存储字典的键不能重复,且只能用不可变类型作为字典的键
字典的字面值表示方式
用 {} 括起来,以冒号 : 分隔 键-值 对, 各键值对用分号分隔开
字典的创建
# 创建空字典
d = {}
# 创建非空的字典:
d = {'name': 'Jason', 'age': 15}
d = {'姓名': '小张'}
d = {1:'壹', 2:'贰'}
字典的构造函数 dict
dict()创建一个空字典,等同于{}dict(iterable)用可迭代对象初始化一个字典-
dict(**kwargs)关键字传参形式生成一个字典d = dict() d = dict([('name', 'tarena'), ('age',15)]) # {'name': 'tarena', 'age': 15} d = dict(name='tarena', age=15) # {'name': 'tarena', 'age': 15} dict(('AB','CD')) # {'A': 'B', 'C': 'D'} dict(('AB','CD',[1,2],[3,'E'],'FH')) # {'A': 'B', 'C': 'D', 1: 2, 3: 'E', 'F': 'H'}
字典的键索引
d = {}
# 创建一个新的键值对
d['name'] = 'tarena'
print(d) # {'name': 'tarena'}
# 创建键值对
d['age'] = 15
print(d) # {'name': 'tarena', 'age': 15}
# 修改键值对
d['age'] = 16
print(d) # {'name': 'tarena', 'age': 15}
del 语句删除字典的元素
del 字典[键]
d = {'name': 'china', 'pos': 'asia'}
del d['pos']
print(d) # {'name':'china'}
del d['name']
print(d) # {}
字典的 in/not in 运算符
可以用 in 运算符来判断一个键是否存在于字典中,如果存在则返回 True, 否则返回 False
d = {'a': 1, 'b': 2}
'a' in d # True
1 in d # False
100 not in d # True
2 not in d # True
字典的迭代访问
字典是可迭代对象,字典只能对键进行迭代访问
d = {'name': 'tarena', (2002, 1, 1): '生日'}
for x in d:
# 访问键
print(x) # name (2002, 1, 1)
# 访问值
print(d[x]) # tarena 生日
可以用于字典的内建函数
len(x)返回字典键-值对的个数max(x)返回字典的键的最大值min(x)返回字典的键的最小值sum(x)返回字典所有键的和any(x)真值测试,只对键测试,如果其中一个键为True,结果为Trueall(x)真值测试,全部键为True时,结果才为True
字典的方法
详见 [字典常用方法](file:///C:/Users/iMing/Desktop/python_base_docs_html/dict.html "字典常用方法")
字典推导式
字典推导式是用可迭代对象依次生成字典内元素的表达式
语法
{键表达式 : 值表达式 for 变量 in 可迭代对象 [if 真值表达式]}
d = {x : x**2 for x in range(10)}