一、字典
1、定义与访问
'''
字典 dict 定义使用{} 定义,是由键值对组成(key_value)
变量 = {key1: value, key2: value2,...} 一个key:value 键值对是一个元素
字典中的key 可以是字符串类型和数字类型(int ,float) 不能是 列表类型的
value 值是可以存放任意类型的
'''
1、定义空字典
my_dict = {}
my_dict1 = dict()
print(my_dict) # {}
print(my_dict1) # {}
2、定义带数据的字典
my_dict2 = {'name':'名之以父', 'age':18,'hobby':['Python','骑行','游戏'],1:{2,4,6}}
print(my_dict2) # {'name': '名之以父', 'age': 18, 'hobby': 'Python’,‘骑行‘,’游戏', 1: {2, 4, 6}}
3、访问value值,在字典中没有下标的概念,使用key值访问对应的value值
print(my_dict2['age']) # 18
print(my_dict2'hobby') # 骑行
两种定义字典方式,与列表,元组的方式一致
访问时必须要用key值去访问value值,在这里key充当了下标的作用
2、CRUD
(1)增加数据与修改数据
my_dict = {'name':'mingzi'}
print(my_dict) # {'name': 'mingzi'}
'''
'''
my_dict['age'] = 18
print(my_dict) # {'name': 'mingzi', 'age': 18}
my_dict['age'] = 19
print(my_dict) # {'name': 'mingzi', 'age': 19}
注意:
my_dict[1] = 'int'
print(my_dict ) # {'name': 'mingzi', 'age': 19, 1: 'int'}
(2)删除数据
有pop方法和del方法,同样都是根据key值来找的
慎用del
my_dict = {'name': 'mingzi', 'age': 19, 1: 'float',2:'aa'}
根据key值删除数据 del 字典名[key]
del my_dict[1] # 这里的1不是下标,是key名
print(my_dict) # {'name': 'mingzi', 'age': 19, 2: 'aa'}
字典.pop(key) 根据key值删除,返回值是删除的key对应的value值
result = my_dict.pop('age')
print(result) # 19
print(my_dict) # {'name': 'mingzi', 2: 'aa'}
del 字典名 直接将这个字典删除了,不能再使用这个字典了
my_dict.clear()
print(my_dict) # {}
del字典名 直接将这个字典删除了,不能使用这个字典了
del my_dict #后面的代码不能再直接使用这个变量了,除非再次定义
print(my_dict) 代码报错,未定义变量
(3)遍历(查数据)
my_dict = {'name': 'mingzi', 'age': [13,19], '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)
print('=' * 30)
'''
字典.values() 获取所有的value值, 类型是 dict_values
1. 可以使用list() 进行类型转换,即将其转换为列表类型
2. 可以使用for循环进行遍历
'''
result = my_dict.values()
print(result, type(result))
for value in my_dict.values():
print(value)
print('=' * 30)
'''
字典.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)
'''
name mingzi
age [13, 19]
gender 男
'''
最终的结果都一样的