python练习|字典

1.字典应用场景

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

2.创建字典的语法

2.1 字典 特点

  1. 符号为大括号
  2. 数据以键值对形式出现
  3. 各个键值对间用逗号隔开

2.2 字典 创建

# {} 键值对  各个键值对用逗号隔开

# 1.有数据的字典  name的值是Tom, age的值是20,gender的值是男
dict1 = {'name': 'Tom', 'age': '20', 'gender': '男'}
print(dict1)
print(type(dict1))

# 2.创建空字典

dict2 = {}  # 方法1
print(type(dict2))

dict3 = dict()  # 方法2
print(type(dict3))

3.字典常见操作

3.1 增

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

# 新增写法:字典序列[key] = 值
# 字典为可变类型
# id 的值为110
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 删

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

# del 删除字典 或 指定的键值对
# del(dict1)
# print(dict1)  # 报错,说明已经删除

# del dict1['name']
# print(dict1)  # 结果 {'age': '20', 'gender': '男'}

# del dict1['names']  # 报错,无此key值
# print(dict1)

# clear()  清空
dict1.clear()
print(dict1)  # 结果 {}

3.3 改

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

# 改 Tom 为 Lily
# dict1['name'] = 'Lily'
# print(dict1)  # {'name': 'Lily', 'age': '20', 'gender': '男'}

# 字典的新增和修改
# 新增,key为新的键值对
# 修改,key为原有键值对

3.4 查

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

# 1. [key]
# print(dict1['name'])  # 返回对应的值 key存在
# print(dict1['names'])  # 报错

# 2.函数
# 2.1 get()
# print(dict1.get('name'))  # 若key存在,返回对应值
# print(dict1.get('names'))   # 若key不存在,返回参数2,没有参数2,返回None
# print(dict1.get('names', 'Lily'))  # 若key不存在,返回参数2  Lily

# 2.2 keys()  查找字典的所有的key ,返回可迭代对象
# print(dict1.keys())  # 结果 dict_keys(['name', 'age', 'gender'])

# 2.3 values()  查找字典的所有的value值,返回可迭代对象
# print(dict1.values())  # 结果  dict_values(['Tom', '20', '男'])

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

4. 字典的循环遍历

4.1 key

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

for key in dict1.keys():
    print(key)

4.2 value

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

for value in dict1.values():
    print(value)

4.3 元素

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

for item in dict1.items():
    print(item)
"""
结果
('name', 'Tom')
('age', '20')
('gender', '男')
"""

4.4 键值对(拆包)

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

# xx.items():返回可迭代对象,内部是元组,元组有2个数据
# 元组数据1是字典的key,元组数据2是字典的value

for key, value in dict1.items():
    print(f'{key} = {value}')
"""
结果
name = Tom
age = 20
gender = 男

"""
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值