1.字典
# 基础数据类型 # bool int float str list tuple dict set # list dict set 可变数据类型 # bool int float str tuple 不可变数据类型 # 1.字典 dict # dict_data={key: value, key1: value1} # 1,符号以大括号表示 # 2,数据是以键值对出现的 键值中间用冒号连接 # 3,key的值必须是不可变类型,key是唯一的 print('1.字典') # 定义一个空字典 dict_data = {} print(dict_data) print(type(dict_data)) # 定义一个有数据的字典 # key是不可变数据类型 # value可以是任何数据类型 # key值重复时,后面的键值对会覆盖前面的键值对 dict_data = {'小明': 20, '小明': 18} print(dict_data) # 字典是没有索引的 无序的 # 因为没有索引,所以才没有顺序 # 字典可以根据key获取value dict_data = {'小明': 20, '小芳': {'age': 18, 'gender': '女'}} print(dict_data['小芳']) # 2.字典增加数据 print() print('2.字典增加数据') dict_data = {'小明': 20} dict_data['小芳'] = 18 print(dict_data) # 3.字典修改数据 # 原理:相当于增加数据,但是key值重复 # key值重复时,后面的键值对会覆盖前面的键值对 print() print('3.字典修改数据') dict_data = {'小明': 20} dict_data['小明'] = {'age': 18, 'gender': '女'} print(dict_data) # 增加与修改的区分 # 当数据不存在就增加 当数据存在就是修改 # 4.字典删除数据 print() print('4.字典删除数据') dict_data = {'小明': 20} del dict_data['小明'] print(dict_data)
2.字典的操作方法
(1)压缩和解包
# 压缩 # 当多个数据赋值给一个变量时,会默认为元组 # 压缩多个数据到一个变量里面,以元组的形式存储 print() print('压缩和解包') a = 'name', 18 # 元组 print(a) # ('name', 18) # 解包 name, age = a print(name, age) # 解包
(2)get()
# get(key,None) # 获取一个数据,如果存在就返回对应的value 不存在就返回None # None 是可以改变的,当不存在是返回这个位置的数据,默认为None print() print('get()') dict_data = {'小明': 20} print(dict_data.get('小明')) # 20 print(dict_data.get('666')) # None print(dict_data.get('666', False)) # False print(dict_data.get('666', 555)) # 555
(3)pop()和popitem()
# pop() # 删除指定key的数据 print() print('pop()') dict_data = {'小明': 20} dict_data.pop('小明') # 删除指定key的数据 print(dict_data) # popitem() # 删除字典的最后一个数据 print() print('popitem()') dict_data = {'小刚': 15, '小明': 20, '小芳': 18} dict_data.popitem() print(dict_data)
(4)update()
# update(字典) 更新 # 相当于列表的extend() print() print('update()') dict_data = {'小刚': 15, '小明': 20} dict_data.update({'小芳': 18}) # 小括号里面是字典! print(dict_data)
(5)keys() values() items()
# keys() # 获取字典中的所有key 并存放到一个dict_keys对象里面 print() print('keys()') dict_data = {'小刚': 15, '小明': 20} print(dict_data.keys()) print(type(dict_data.keys())) print(list(dict_data.keys())) # 可以强转为列表 for i in dict_data.keys(): print(i) # values() # 获取字典中的所有value print() print('values()') dict_data = {'小刚': 16, '小明': 20} print(dict_data.values()) print(type(dict_data.values())) print(list(dict_data.values())) # 可以强转为列表 for i in dict_data.values(): print(i) # items() print() print('items()') dict_data = {'小刚': 18, '小明': 20} print(dict_data.items()) print(type(dict_data.items())) print(list(dict_data.items())) # 可以强转为列表 for i in dict_data.items(): print(i) print(list(i)) # 强转为列表 for i in dict_data.items(): print(i[0], i[1]) for name, age in dict_data.items(): # 解包 print(name, age)
3.集合
# 集合 set # set_data = {数据,数据,数据,...} # 集合是无序的,唯一的(数据不能重复) # 集合没有索引和key # '' [] {} () 定义空的数据 # str() list() dict() tuple() # 定义一个空的集合 set_data = set() print(type(set_data)) print(set_data) # 无序的 print() set_data1 = {100, 200, 300} print(set_data1) # 是无序的! # 唯一的 # 可以去除重复的数据 print() set_data = {1, 2, 3, 4} print(set_data) # {1, 2, 3, 4} set_data = {1, 2, 3, 4, 4} print(set_data) # {1, 2, 3, 4} 和上一个一样 # add() 增加数据 print() set_data = {1, 2, 3, 4} set_data.add(100) print(set_data) # remove() 删除数据 print() set_data = {1, 2, 3, 4} set_data.remove(2) # 删除数据2 print(set_data)
4.今日作业
# 今日作业 """ 本次考试张三59分,李四80, 王五99分,小宋56分, 请使用字典来表达此数据结构, 并筛选出来不及格的同学及分数 """ print('今日作业') name_score = {'张三': 59, '李四': 80, '王五': 99, '小宋': 56} # 创建字典存储数据 for name, score in name_score.items(): # 解包 if score < 60: # 判断是否不及格 print(name, score)
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python中的字典和集合 - Python技术站