字典 常见操作
文章目录
① 字典
字典的特点:
-
符号为
大括号。
-
数据为
键值对
形式出现。 -
各个
键值对
之间用逗号
隔开。dict = {键(key):值(value),....}
# 有数据字典 dict1 = {'name':'Tom','age':20,'gender':'男'} ------------------------------------------------------- # 空字典1 dict2 = {} ------------------------------------------------------- # 空字典2 dict3 = dict()
字典里面的数据都是以
键值对
形式出现,字典数据
和数据顺序
没有关系,即字典不支持
下标,后期无论数据如何变化,只需要按照对应的键名字查找数据即可。
② 字典的常见操作
1、新增
写法:字典序列[key] = 值
注意:如果
key存在
则修改这个key对应的值;
如果key不存在
则新增
此键值对。
dict1 = {'name':'Tom','age':20,'gender':'男'}
# 存在 情况下修改
dict1['name'] = 'Ros'
print(dict1)
# 不存在 情况下修改
dict1['id'] = 110
print(dict1)
-------------------------------------------------------
# 输出结果
{'name': 'Ros', 'age': 20, 'gender': '男'}
{'name': 'Ros', 'age': 20, 'gender': '男', 'id': 110}
注意:字典是
可变数据类型。python
1.1、列表新增 字典数据
info = []
info_dict = {}
info_dict['id'] = 201902074
info_dict['name'] = 'zjh'
info_dict['tel'] = 19866732127
info.append(info_dict)
print(info)
-------------------------------------------------------
# 输出结果
[{'id': 201902074, 'name': 'zjh', 'tel': 19866732127}]
2、删除
2.1、del 删除字典(键值对)
-
del():删除
字典
或删除字典中指定键值对。
语法:
# 删除整个字典(包括符号) del(字典序列) ------------------------------------------------------- # 删除指定键值对 del 字典序列[key]
实例:
dict1 = {'name':'Tom','age':20,'gender':'男'} # 删除整个字典(包括符号) del(dict1) print(dict1) ------------------------------------------------------- # 输出结果 Traceback (most recent call last): File "F:\Feature_Detection\test.py", line 4, in <module> print(dict1) NameError: name 'dict1' is not defined
dict1 = {'name':'Tom','age':20,'gender':'男'} ## 删除指定 **键值对** del dict1['name'] print(dict1) ------------------------------------------------------- # 输出结果 {'age': 20, 'gender': '男'}
注意:删除
指定键值对
,如果改键值对不存在,则报错。
2.2、clear 清空字典
-
clear():清空字典,保留
符号。
语法:
字典序列.clear()
实例:
dict1 = {'name':'Tom','age':20,'gender':'男'} dict1.clear() print(dict1) ------------------------------------------------------- # 输出结果 {}
3、修改
写法:字典序列[key] = 值
新增:
dict1 = {'name':'Tom','age':20,'gender':'男'}
# 新增 写法
dict1['id'] = 100
print(dict1)
-------------------------------------------------------
# 输出结果
{'name': 'Tom', 'age': 20, 'gender': '男', 'id': 100}
修改:
dict1 = {'name':'Tom','age':20,'gender':'男'}
# 修改 写法
dict1['name'] = 'BoB'
print(dict1)
-------------------------------------------------------
# 输出结果
{'name': 'BoB', 'age': 20, 'gender': '男'}
注意:如果
key存在
则修改
这个key对应的值
;如果key不存在
则新增
此键值对。
4、查找
4.1、key值 查找
如果当前查找的key存在
,则返回
对应的值;否则则报错
。
dict1 = {'name':'Tom','age':20,'gender':'男'}
print(dict1['age'])
print(dict1['gender'])
-------------------------------------------------------
# 输出结果
20
男
dict1 = {'name':'Tom','age':20,'gender':'男'}
print('bb') # 不存在情况下
-------------------------------------------------------
# 输出结果
Traceback (most recent call last):
File "F:\Feature_Detection\test.py", line 4, in <module>
print(dict1['bb'])
KeyError: 'bb'
4.2、get 查找
-
get():查找字典,存在则返回对应的值。如果不存在则返回
第二个参数(默认值)
,如果省略第二个参数
,则返回
None
。语法:
字典序列.get(key,默认值)
实例:
dict1 = {'name':'Tom','age':20,'gender':'男'} # 存在 情况下 print(dict1.get('name')) # ------------------------------------------------------- # 不存在 情况下(返回None) print(dict1.get('cc')) ------------------------------------------------------- # 输出结果 Tom None
注意:如果当前查找的key
不存在
则返回第二个参数
(默认值),如果省略
第二个参数,则返回None。
4.3、keys 查找键(返回key)
-
keys():查找字典中的所有的
key(键)
,返回可迭代对象(可以用for遍历的对象
)。语法:
字典序列.keys()
实例:
dict1 = {'name':'Tom','age':20,'gender':'男'} # 返回 key (键) print(dict1.keys()) ------------------------------------------------------- # 输出结果 dict_keys(['name', 'age', 'gender'])
4.4、values 查找值 (返回value)
-
values():查找字典中所有的
value(值)
,返回可迭代对象(可以用for遍历的对象
)。语法:
字典序列.values()
实例:
dict1 = {'name':'Tom','age':20,'gender':'男'} # 返回 value(值) print(dict1.values()) ------------------------------------------------------- # 输出结果 dict_values(['Tom', 20, '男'])
4.5、items 查找值(返回key,value)
-
items():查找字典中
所有
的键值对
,返回可迭代对象,里面的数据是元组
,元组数据1是字典的key
,元组数据2是字典的value。
语法:
字典序列.items()
实例:
dict1 = {'name':'Tom','age':20,'gender':'男'} # 元组形式返回 key:value print(dict1.items()) ------------------------------------------------------- # 输出结果 dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')])
③ 字典的循环遍历
1、遍历字典 key(键)
# 实例
dict1 = {'name':'Tom','age':20,'gender':'男'}
for key in dict1.keys():
print(key)
-------------------------------------------------------
# 输出结果
name
age
gender
2、遍历字典 value(值)
# 实例
dict1 = {'name':'Tom','age':20,'gender':'男'}
for value in dict1.values():
print(value)
-------------------------------------------------------
# 输出结果
Tom
20
男
3、遍历字典 元素(元组)
# 实例
dict1 = {'name':'Tom','age':20,'gender':'男'}
for item in dict1.items():
print(item)
-------------------------------------------------------
# 输出结果
('name', 'Tom')
('age', 20)
('gender', '男')
4、遍历字典 键值对
'''
# xx.items(): 返回可迭代对象,内部是元组,元组有2个数据
# 元组数据1是字典的key,元组数据2是字典的value
'''
# 实例
dict1 = {'name':'Tom','age':20,'gender':'男'}
for key,value in dict1.items():
# 目标 key=value
print(f'{key}={value}')
-------------------------------------------------------
# 输出结果
name=Tom
age=20
gender=男