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)
复制代码

 

posted @   Py玩家  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示