目录
1、应用场景
当确实一个列表里面的数据时,用对应的下标可以找到一个数据,但是如果数据顺序变了,下标也得变。而对于字典来说,字典的数据以键值对形式出现,和数据顺序无关,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可。
2、创建
字典特点:
符号为大括号
数据为键值对形式出现
各个键值对之间用逗号隔开
key : value,这是字典的形式。value可以是任何数据类型,key只能是不可变的数据类型
d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
print(d1)
#创建一个空字典
d2 = {}
print(type(d2))
print(d2)
d3 = dict()
print(type(d3))
{'name': 'TOM', 'age': '20', 'gender': '男'}
<class 'dict'>
{}
<class 'dict'>
3、常见操作
1、新增
字典新增数据写法:字典序列[key] = 值.如果key存在则修改这个key对应的值,不存在则新增此键值对
d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
d1['id'] = 110
print(d1)
d1['name'] = 'ROSE'
print(d1)
{'name': 'TOM', 'age': '20', 'gender': '男', 'id': 110}
{'name': 'ROSE', 'age': '20', 'gender': '男', 'id': 110}
2、删除
del()/del
d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
del(d1)
print(d1)
会报错
d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
del d1['name']
print(d1)
{'age': '20', 'gender': '男'}
pop()函数按照key来删除,括号里是key
clear
d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
d1.clear()
print(d1)
{}
3、修改
写法:序列【key】 = 值
如果key存在则修改这个key对应的值;如果key不存在则新增此键值对
d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
d1['name'] = 'Paul'
print(d1)
{'name': 'Paul', 'age': '20', 'gender': '男'}
4、查找
有两种方法
key值查找
如果当前查找的key存在,则返回对应的值,否则则报错
d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
print(d1['name'])
print(d1['id'])
TOM
Traceback (most recent call last):
File "E:\codes\first.py", line 3, in <module>
print(d1['id'])
KeyError: 'id'
get()
语法:序列.get(key, 默认值)
如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。None是Python里的一个数据类型,表示空,类型为NoneType
d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
print(d1.get('name'))
print(d1.get('id', 111))
print(d1.get('id'))
TOM
111
None
keys()
d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
print(d1.keys())
dict_keys(['name', 'age', 'gender'])
查找所有的key,返回一个可迭代的对象,可进行for的遍历的对象
values()
和key对应,查找到值,返回一个可迭代对象,可进行for的遍历的对象
d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
print(d1.values())
dict_values(['TOM', '20', '男'])
items()
返回一个个元组,每个元组对应字典里的键值对。返回一个可迭代对象,可进行for的遍历的对象
d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
print(d1.items())
dict_items([('name', 'TOM'), ('age', '20'), ('gender', '男')])
5、循环遍历
key
d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
for key in d1.keys():
print(key)
name
age
gender
value
d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
for value in d1.values():
print(value)
TOM
20
男
元素
d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
for item in d1.items():
print(item)
('name', 'TOM')
('age', '20')
('gender', '男')
键值对
将得到的数据进行拆包
d1 = {'name': 'TOM', 'age': '20', 'gender': '男'}
for key, value in d1.items():
print(f'{key} = {value}'
name = TOM
age = 20
gender = 男
循环删除的时候,和列表一样,需要一个临时字典来辅助删除。
6、嵌套
嵌套的字典想要访问,就用[][][]来访问,和数组一样。
字典相关部分写完。当然只是简单的说明。
结束。