什么叫字典
dict --- 字典,采用的是键值对形式,键是唯一的,值不是唯一的,字典属于映射类型,是有序的,但是不可以下标取值
字典属于可变类型,可以直接改变原数据
dict1 = {'name':'zhangsan', 'age':18}
print(dict1) # {'name':'zhangsan', 'age':18}
print(type(dict1)) # 数据类型是字典
如果有两个相同的键,则优先取决于后面的键
dict1 = {'name':'zhangsan', 'name':'lisi'}
print(dict1['name']) # lisi
如何创建一个空字典
dict1 = {}
dict2 = dict()
字典的简单使用
通过键取值
dict1 = {'name':'zhangsan', 'age':18}
print(dict1['name']) # zhangsan
通过键改值
dict1 = {'name':'zhangsan', 'age':18}
dict1['name'] = 'lisi'
print(dict1) # {'name':'lisi', 'age':18}
有则改,无则增
dict1 = {'name':'zhangsan', 'age': 18}
dict1['set'] = '男'
print(dict1) # {'name':'zhangsan', 'age': 18, 'set': '男'}
字典 --- 增删改查
字典 --- 增
dict1 = {'name':'zhangsan', 'age':18}
dict2 = dict1.copy()
print(dict2) # {'name':'zhangsan', 'age':18}
dict1 = {'name':'zhangsan', 'age':18}
# setdefault:有则查,无则增
# None: 空
print(dict1.setdefault('name')) # zhangsan
print(dict1.setdefault('aaa')) # None 查不到就会打印一个空,但是还是会添加进字典里面
dict1.setdefault('set', '男')
print(dict1) # {'name': 'zhangsan', 'age': 18, 'a': None, 'set': '男'}
字典 --- 删
dict1 = {'name':'zhangsan', 'age':18}
# clear:全部清除
dict1.clear()
print(dict1) # {}
dict2 = {'name':'zhangsan', 'age':18}
# pop:通过键删除键值对
dict2.pop('name')
print(dict2) # {'age': 18}
dict3 = {'name':'zhangsan', 'age':18, 'set': '男'}
# popitem:无序删除(从后往前删 ---- 添加顺序)
dict3.popitem()
print(dict3)
dict4 = {'name':'zhangsan', 'age':18}
# del:通过键 删除键值对
# 如果是 del dict 将会删除字典
del dict4['name']
print(dict4)
字典 --- 改
dict1 = {'name':'zhangsan', 'age':18}
# update: 有则改,无则增
dict1.update({'name':'haha','sex':'男'})
print(dict1) # {'name': 'haha', 'age': 18, 'sex': '男'}
dict2 = {'name':'aaa','sex':'男'}
dict1.update(dict2)
print(dict1) # {'name': 'aaa', 'age': 18, 'sex': '男'}
字典 --- 查
dict1 = {'name':'zhangsan', 'age':18}
# get:通过键查值
print(dict1.get('name'))
dict1 = {'name':'zhangsan', 'age':18}
# keys:查看全部的键
print(dict1.keys())
# values:查看全部的值
print(dict1.values())
dict1 = {'name':'zhangsan', 'age':18}
# items:以列表的形式返回可遍历的(键,值) 元组数组
print(dict1.items()) # dict_items([('name', 'zhangsan'), ('age', 18)])
拓展
dict1 = {'age': 1}
a = dict1['age'] + 1
print(a) # 2
print(dict1) # {'name': 1}
dict2 = {'age': 1}
dict2['age'] += 1
print(dict2) # {'name': 2}
dict3 = {'age': 1}
dict3 = dict3['age'] + 1
print(dict3) # 2