🌌 专注Golang,Python语言,云原生,人工智能领域得博主;
💜 过去经历的意义在于引导你,而非定义你;
📢 欢迎点赞 👍 收藏 ⭐留言!
01-字典的创建
# 字典 dict 定义使用{} 定义, 是由键值对组成(key-value)
# 变量 = {key1: value1, key2:value2, ...} 一个key:value 键值对是一个元素
# 字典的key 可以是 字符串类型和数字类型(int float), 不能是 列表
# value值可以是任何类型
# 1. 定义空字典
my_dict = {}
my_dict1 = dict()
print(my_dict, type(my_dict))
print(my_dict1, type(my_dict1))
# 2. 定义带数据的字典
my_dict2 = {'name': 'isaac', 'age': 18, 'like': ['学习', '购物', '游戏'], 1: [2, 5, 8]}
print(my_dict2)
# 3. 访问value 值, 在字典中没有下标的概念, 使用 key值访问对应的value 值
# 18
print(my_dict2['age'])
# '购物'
print(my_dict2['like'][1])
# 如果key值不存在
# print(my_dict2['gender']) # 代码报错,key值不存在
# 字典.get(key) 如果key值不存在,不会报错,返回的是None
print(my_dict2.get('gender'))
# my_dict2.get(key, 数据值) 如果key存在,返回key对应的value值,如果key不存在,返回书写的数据值值
print(my_dict2.get('gender', '男')) # 男
print(my_dict2.get('age', 1)) # 18
print(len(my_dict2)) # 4
02-字典中数据的添加和修改
my_dict = {'name': 'isaac'}
print(my_dict)
# 字典中添加和修改数据,使用key值进行添加和修改
# 字典[key] = 数据值; 如果key值存在,就是修改,如果key值不存在,就是添加
my_dict['age'] = 18 # key值不存在,添加
print(my_dict)
my_dict['age'] = 19 # key值已经存在,就是修改数据
print(my_dict)
# 注意点 key 值 int 的 1 和float的 1.0 代表一个key值
my_dict[1] = 'int'
print(my_dict)
my_dict[1.0] = 'float'
print(my_dict)
03-字典添加数据
my_dict = {'name': 'isaac', 'age': 19, 1: 'float', 2: 'aa'}
# 根据key值删除数据 del 字典名[key]
del my_dict[1]
print(my_dict)
# 字典.pop(key) 根据key值删除, 返回值是删除的key对应的value值
result = my_dict.pop('age')
print(my_dict)
print(result)
# 字典.clear() 清空字典, 删除所有的键值对
my_dict.clear()
print(my_dict)
# del 字典名 直接将这个字典删除了,不能使用这个字典了
del my_dict # 后边的代码不能再直接使用这个变量了,除非再次定义
# print(my_dict) 代码报错, 变量为定义
04-字典的遍历
my_dict = {'name': 'isaac', 'age': 18, 'gender': '男'}
# for循环体直接遍历字典, 遍历的字典的key值
# for key in my_dict:
# print(key, my_dict[key])
# 字典.keys() 获取字典中所有的key值, 得到的类型是 dict_keys, 该类型具有的特点是
# 1. 可以使用list() 进行类型转换,即将其转换为列表类型
# 2. 可以使用for循环进行遍历
# result = my_dict.keys()
# print(result, type(result))
# for key in result:
# print(key)
# 字典.values() 获取所有的value值, 类型是 dict_values
# 1. 可以使用list() 进行类型转换,即将其转换为列表类型
# 2. 可以使用for循环进行遍历
# result = my_dict.values()
# print(result, type(result))
# for value in my_dict.values():
# print(value)
# 字典.items() 获取所有的键值对, 类型是 dict_items, key,value 组成元组类型
# 1. 可以使用list() 进行类型转换,即将其转换为列表类型
# 2. 可以使用for循环进行遍历
result = my_dict.items()
print(result, type(result))
for item in my_dict.items():
print(item[0], item[1])
print('=' * 30)
for k, v in my_dict.items(): # k 是元组中的第一个数据, v 是元组中的第二个数据
print(k, v)
05-enumerate
my_list = ['a', 'b', 'c', 'd', 'e']
# for i in my_list:
# print(i)
for i in my_list:
print(my_list.index(i), i) # 下标, 数据值
# enemerate 将可迭代序列中元素所在的下标和具体元素数据组合在一块,变成元组
for j in enumerate(my_list):
print(j)
06-答疑
my_dict = {'name': 'isaac', 'age': 18, 'like': [1, 2], 'aa': {'a': 1, 'b': 200}}
print(my_dict)
print(my_dict['aa']['b'])
my_list = [{}, {}, {}, my_dict]
print(my_list)