⑥ 字典

字典 常见操作


① 字典


字典的特点:

  • 符号为大括号。

  • 数据为键值对形式出现。

  • 各个键值对之间用逗号隔开。

    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=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值