python基础08 字典内置方法 、元组内置方法、集合内置方法、集合运算关系、
字典的内置方法
1 dic={'username':"kevin",'age':18} 2 # 定义空字典 3 d = {} 4 # info=dict(username='kevin',age=18) 5 # print(info) 6 7 #1.支持key取值 8 new_dic=dic['username'] 9 print(new_dic) 10 item={'username':'tank','age':20,'hobbios':[1,2,3]} 11 print(item['hobbios'][0]) 12 13 #2.赋值操作 14 item['name']='kevin'#字典末尾赋值 15 print(item) 16 item['age']=21#当k存在时就是修改v值,k不存在时就是添加行的元素 17 print(item) 18 19 # 3.成员运算 20 item={'username':'tank','age':20,'hobbios':[1,2,3]} 21 print('tank'in item)#False 22 print('username'in item)#True 23 '''字典暴露的是k值''' 24 25 #删除 26 print(item.pop('tank')) 27 print(item.pop('username')) 28 '''字典要删除v值必须通过y来实现,不能索引来实现''' 29 30 key、value、items 31 item={'username':'tank','age':20,'hobbios':[1,2,3]} 32 print(item.keys())#dict_keys(['username', 'age', 'hobbios']) 33 '''把字典所有k值拿出来,组装成列表返回''' 34 print(item.values())#dict_values(['tank', 20, [1, 2, 3]]) 35 '''把字典里所有的value值拿出来,组成列表返回''' 36 print(item.items()) 37 '''把所有元素拿出来组装成列表套元组,元组里面是字典k和v值''' 38 for i in item.keys(): 39 print(i) 40 for j in item.values(): 41 print(j) 42 for k in item.items(): 43 print(k[0],k[1]) 44 45 #字典的其他用法 46 47 1.get 48 d={'name':'jack','age':18} 49 print(d['name']) 50 print(d['name1'])#字典通过k取值,k值不存在直接报错 51 print(d.get('name')) 52 print(d.get('name1'))#如果用get取值,k值存在去除相应的值,k只不存在返回None 53 print(d.get('name','jack')) 54 print(d.get('name1',123))#get可以传递第二个参数,当k值不存在时,当k只不存在时直接返回第二参数得值 55 56 popitem 57 d={'name':'jack','age':18} 58 print(d.popitem()) 59 print(d) 60 '''删除末尾的元素,并且把删除的值弹出来''' 61 62 update 63 d={'name':'jack','age':18} 64 d1 = {'name': 'tank', 'hobbys': ['read', 'musi']} 65 d.update(d1) 66 print(d)#{'name': 'tank', 'age': 18, 'hobbys': ['read', 'musi']} 67 uadate的功能是:如果字典的k存在,则修改原来的k,如果不存在,则添加一个新值''' 68 formkeys 69 c = d.fromkeys('k1', 'k2') 70 print(c) # 相当于给字典批量赋值,但赋值一样 71 72 setdefault 73 dic = {'k1': 111, 'k2': 222} 74 res = dic.setdefault('k3', 333) # key不存在则新增键值对,并将新增的value返回 75 print(res, dic) # 333 {'k1': 111, 'k2': 222, 'k3': 333} 76 res1 = dic.setdefault('k1', 116) # key存在则不做任何修改,并返回已存在key对应的value值 77 print(res1, dic) # 111 {'k1': 111, 'k2': 222, 'k3': 333}
元组的内置方法
1 # 1.类型转换 2 # 整数,浮点型不能转换 3 print(tuple('hello'))#('h', 'e', 'l', 'l', 'o') 4 print(tuple([1,2,1,3]))#(1, 2, 1, 3) 5 print(tuple({"k1":1,'k2':2}))#('k1', 'k2') 6 7 # 2.取值 8 '''取值索引取值,从零开始,负号代表方向''' 9 10 # 切片 11 t=(1,2,3) 12 print(t[0:2])#(1, 2)从索引位置开始取两位 13 print(t[ :2])#(1, 2)从头开始取两位 14 print(t[ :2:2])#从头开始取,步长为2
16 #长度len 17 print(len(t)) 18 19 #成员运算 20 print(1 in t)#Ture 21 print(1 not in t)#False 22 23 #循环for 24 for i in t: 25 print(i) 26 """当元组内只有一个元素时,里面要加逗号,否则不是元组""" 27 '''建议: 28 只要是容器类型,当元素只有一个的时候,建议都加上逗号 29 容器类型: 30 只要是能够存放多个元素的数据类型都可以称之为是容器类型'''
集合内置方法
#1.定义 s={1,2,3,3,2,1} #功能:去重、运算、无序 #定义空集:set() print(set(111)) print(set(1.11)) '''整型和浮点型都不能转为集合 能够支持for循环的都可以转为集合类型''' 小练习 name_list = ['kevin', 'tank', 'tony', 'tony', 'jack', 'jack', 'jack', 'tony', 'ly', ] 基本要求去重 print(set(name_list)) # {'tony', 'jack', 'kevin', 'tank', 'ly'}利用集合的去重功能 print(list(set(name_list))) 拔高要求去重保留原来顺序先定义一个空列表 new_name = [] for name in name_list: print(name) if name not in new_name: new_name.append(name) # 末尾依次增加,new_name里面有的就不进去 print(new_name) # ['kevin', 'tank', 'tony', 'jack', 'ly']
集合的关系运算
friends1 = {"zero","kevin","jason","egon"} # 用户1的好友们 friends2 = {"Jy","ricky","jason","egon"} # 用户2的好友们 1.并集和合集(|)所有好友重复留一个 print(friends2 | friends1) 2.交集(&)共同好友 print(friends2&friends1) 3.对称差集(^)求独有好友 print(friends2^friends1) 4.差集 print(friends2-friends1)#friend2的单独好友 print(friends1-friends2)#friend1的单独好友 6.父集:一个集合是否包含另外一个集合,包含则返回Ture,否则为False print({1,2,3}>={1,2,3})#Ture 7.子集:一个集合是否属于另外一个集合。属于则返回Ture,否则为False print({1,2} < {1,2,3})#Ture
集合练习题
""" 一.关系运算 有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合 pythons={'ly','qq','kevin','ricky','gangdan','biubiu'} linuxs={'kermit','tony','gangdan'} 1. 求出即报名python又报名linux课程的学员名字集合 2. 求出所有报名的学生名字集合 3. 求出只报名python课程的学员名字 4. 求出没有同时这两门课程的学员名字集合 """ pythons={'ly','qq','kevin','ricky','gangdan','biubiu'} linuxs={'kermit','tony','gangdan'} print(pythons & linuxs) print(pythons |linuxs) print(pythons-linuxs) print(pythons^linuxs)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY