1.什么是字典
1.字典是一种可变的容器,可以存储任意类型的数据
2.字典中的每个数据都是用'键'(key)来进行索引的,而不向列表和元组中可以使用整数下标来进行索引
3.字典中的数据是没有先后顺序的,字典的存储是无序的
4.字典中数据以键(key):值(value)对的方式进行存储的
5.字典的键不能重复,且只能用不可变的数据作为字典的键
2.语法
1.使用字典的字面值创建字典
使用 {} 来表示一个字典,里面允许出现若干键值对
1.创建空字典
dic = {}
2.创建非空字典
1. dic = { 'name':'naruto', 'age':18, } 2. dic = { 1 : 'One', 2 : 'Two', } 3. dic = { 'YAZHOU':['中国','日本','韩国','伊朗'], 'OUZHOU':['英国','法国','德国'], 'MEIZHOU':['美国','加拿大','墨西哥'] } 4. dic = { (1970,1,1) : "test year" }
2.使用字典的构造函数创建字典
1. dic = dict() #创建一个空字典
2. 使用可迭代对象初始化一个字典
dict(iterable)
dic = dict(
[
('name','tarena'),
('age',15),
['addr','BJ']
]
)
3. 使用关键字传参形式创建一个字典
dict(**kwargs)
dic=(name='tarena',age=15)
3.字典的基本操作
字典的键索引
用[]配合着字典的键得到对应的值,也可以修改值
键索引
字典[键]
示例:
dic = {"name":"naruto","age":18}
print(dic['name'],"的年龄是",dic['age'])
1.添加/修改 字典的元素
语法:
字典[键] = 值
说明:
当键不存在时,创建键,并绑定值
当键存在时,修改键绑定的值
2.删除 字典的元素
del 字典[键]
4.字典的成员运算符 - in / not in
可以用 in 运算符来判断一个键是否存在于字典中
如果'键'存在则返回True,否则返回False
not in 与 in 结果相反
示例:
dic = { "name":"tarena", "age" : 15 } if 'name' in dic: print(dic['name']) print(15 in dic) # 结果:False,只判断键不判断值
5.字典的迭代访问
1.基本迭代
语法:
for 变量 in 字典:
# 迭代变量表示的是迭代出来的字典的键
pass
2.通过 字典.keys() 得到所有的键组成的列表
3.通过 字典.values() 得到所有的值组成的列表
4.通过 字典.items() 得到所有的键值对所组成的列表
6.可以用于字典的内建函数
len(dic) : 返回字典中键值对的个数
max(dic) : 返回字典的键的最大值
min(dic) : 返回字典的键的最小值
sum(dic) : 返回字典的所有的键的和
any(dic) : 真值测试,任意一个键为True,结果为True
all(dic) : 真值测试,所有的键都为True,结果为True
7.字典推导式
1.什么是字典推导式
字典推导式是用可迭代对象创建字典的表达式
2.语法
{键表达式:值表达式 for 变量 in 可迭代对象 if 条件}
说明:if条件是可以省略的,如果不省略的话并且条件为假的时候则不生成键值表达式
1 生成一个字典,键为数字(10以内),值为键的平方 2 1.提示:生成10以内的数字 range(10) 3 4 d = {x : x**2 for x in range(10)} 5 d = {x : x**2 for x in range(10) if x % 2 == 0}