字典
字典的应用场景
存储数据,存储一个数据的属性,可以快速的找到需要的数据
创建字典的语法
dict_data = {key:value,key1:value1}
1.符号以大括号表示
2.数据是以键值对出现的,键值中间用冒号连接
3.key的值必须是不可变类型,Key值不能重复
创建一个空的字典
dict_data = {}
print(dict_data) # {}
print(type(dict_data)) # <class 'dict'>
字典的增删查改操作
字典是没有索引的,字典是没有顺序的
增加
dict_data = {}
dict_data['小雨'] = 22
print(dict_data) # {'小雨': 22}
修改
dict_data = {}
dict_data['小雨'] = 22
dict_data['小雨'] = 20
删除 del clear pop(key) popitem()
dict_data = {'小明':20, '小芳':18, '小刚':16}
# del dict_data # 删除整个字典
# del dict_data['小明'] # 删除字典中,key为'小明'的数据
# dict_data.clear() # 清空字典内的内容,字典还在
# print(dict_data.pop('小明')) # 20 删除小明,并返回删除的值
# print(dict_data.popitem()) # 16 默认删除最后一个
查看
根据key查看
keys()返回字典的所有的key
values() 返回字典的所有value
items() 返回字典中的key 和 value
dict_data = {'小明':20, '小芳':18, '小刚':16 }
print(dict_data['小芳']) # 18
print(list(dict_data.keys())) #['小明', '小芳', '小刚']
print(list(dict_data.values())) # [20, 18, 16]
print(list(dict_data.items())) # [('小明', 20), ('小芳', 18), ('小刚', 16)]
字典的部分方法
dict_data = {'小明': 20, '小芳': 18, '小刚': 16}
print(dict_data.get('小明1', '这是默认值')) # 这是默认值
#当没有找到时,返回设置的默认值,,不设置,默认返回None
print(dict_data.setdefault('小明','100')) # 20 找到就返回对应的值
print(dict_data.setdefault('小红', '100')) #100 找不到,返回设置的默认值,并把小红及默认值存进去
print(dict_data) # {'小明': 20, '小芳': 18, '小刚': 16, '小红': 100}
字典的循环遍历
dict_data = {'小明': 20, '小芳': 18, '小刚': 16}
for i in dict_data.keys():
print(i)
for i in dic_data.values():
print(i)
for i in dict_data.items():
print(i[0],i[1])
# 拆包写法
for name, age in dict_data.items():
print(name, age)
集合
{数据1, 数据2, 数据3...}
创建集合
set_data = set()
set_data1 = {1,2,3,4}
print(type(set_data))
集合的特点
1.没有索引
2.没有顺序
3.数据不能重复(可以用来去重)
集合的常规操作
查找 in 与 not in
set_data = {1,2,3,4}
print(1 in set_data) # True
print(2 not in set_data) # False
增加 add update 添加的数据需要是一个不可变类型
set_data = {1,2,3,4,5,6}
set_data.add(1) # 集合自动去重,1重复了
print(set_data) #{1,2,3,4,5,6}
删除 remove discard()
data = {1,2,3,4,5}
data.remove(5)
data.remove(6) # 如果key不存在,会报错
data.remove(7) # 没有对应的值,不报错,直接跳过