Python Day5 字典

字典里面的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可。

字典特点:
符号为大括号;
数据为键值对形式出现;
各个键值对之间用逗号隔开。

三、字典常见操作
3.1 增
写法:字典序列[key]=值
注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。
注意:字典为可变类型。

pycharm技巧:输入符号对后,按Tab键可跳出符号对。

dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}
dict1['id'] = 110
print(dict1)  # {'name': 'TOM', 'age': 20, 'gender': '男', 'id': 110}

dict1['name'] = 'ROSE'
print(dict1)  # {'name': 'ROSE', 'age': 20, 'gender': '男', 'id': 110}

3.2 删
del() / del:删除字典或删除字典中指定键值对。
clear():清空字典。

dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}
# del(dict1)
# print(dict1)    # NameError: name 'dict1' is not defined

del dict1['name']
print(dict1)  # {'age': 20, 'gender': '男'}
# del dict1['names']    #不存在,则报错
# print(dict1)    # KeyError: 'names'

dict1.clear()  # 清空字典
print(dict1)  # {}

3.3 改
写法:字典序列[key]=值
注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。

3.4 查
3.4.1 key值查找
如果当前查找的key存在,则返回对应的值;否则则报错。

dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}
# 1. [key]
print(dict1['name'])    # TOM
# print(dict1['names'])   # 报错 KeyError: 'names'

3.4.2 get()
注意:如果当前查找的key不存在则返回第二个参数(默认值),如果省略了第二个参数,则返回None。
get()不会报错。

dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}
# 2.1 get()
print(dict1.get('name'))    # TOM
print(dict1.get('names'))    # None
print(dict1.get('names', 'Lily'))    # Lily
print(dict1)    # {'name': 'TOM', 'age': 20, 'gender': '男'}  没有增加names

3.4.3 keys()

dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}
# 2.2 keys() 查找字典中所有的key,返回可迭代对象(即可以用for遍历的对象)
print(dict1.keys()) # dict_keys(['name', 'age', 'gender'])

3.4.4 values()

dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}
# 2.3 values() 查找字典中的所有的value,返回可迭代对象
print(dict1.values())   # dict_values(['TOM', 20, '男'])

3.4.5 items()

dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}
# 2.4 items() 查找字典中所有的键值对,返回可迭代对象,里面的数据是元组,元组数据1是字典的key,元组数据2是字典key对应的值。
print(dict1.items())    # dict_items([('name', 'TOM'), ('age', 20), ('gender', '男')])

四、字典的循环遍历
4.1 遍历字典的key
4.2 遍历字典的value
4.3 遍历字典的元素
4.4 遍历字典的键值对

dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}

# 4.1 遍历字典的key
for key in dict1.keys():
    print(key)
'''
name
age
gender
'''

# 4.2 遍历字典的value
for value in dict1.values():
    print(value)
'''
TOM
20
男
'''

# 4.3 遍历字典的元素
for item in dict1.items():
    print(item)
'''
('name', 'TOM')
('age', 20)
('gender', '男')
'''

# 4.4 遍历字典的键值对
# xx.items():返回可迭代对象,内部是元组,元组有些个数据
# 元组数据1是字典的key,元组数据2是字典的value
for key, value in dict1.items():
    # print(key)
    # print(value)
    # 目标:key=value
    print(f'{key} = {value}')
'''
name = TOM
age = 20
gender = 男
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值