#一,集合类型###找出两个集合的交集并将结果打印出来# python_stu=[‘egon‘,‘alex‘,‘kevin‘,‘王大炮‘,‘李二丫‘]# linux_stu=[‘张铁蛋‘,‘刘铜蛋‘,‘赵金蛋‘,‘alex‘,‘kevin‘,‘oldboy‘]# res=[]# for stu1 in python_stu:# if stu1 in linux_stu:# res.append(stu1)# print(res)##2 集合# 定义方式:在{}用逗号分割开多个元素,但是集合内元素必须要满足一下特点#2.1: 必须是不可变类型#2.2: 不能重复#2.3: 集合内元素无序# s={1,1,1,1,1,1} #s=set({1,1,1,1,1,1})# print(s)# print(type(s)) # s1=set(‘hello‘)# print(s1)# print(type(s1)) # s={}# print(type(s))#这样定义一个空的,打印出来的是一个字典#要定义一个集合必须这样定义# s=set()# print(s,type(s)) # s={‘egon‘,‘alex‘,‘kevin‘,‘oldboy‘}# print(s,type(s)) # 3、常用操作+内置的方法#优先掌握的操作:(*****)#1、长度len# s={‘egon‘,‘alex‘,‘kevin‘,‘oldboy‘}# print(len(s))#2、成员运算in和not in# s={‘egon‘,‘alex‘,‘kevin‘,‘oldboy‘}# print(‘egon‘ in s) # python_stu={‘egon‘,‘alex‘,‘kevin‘,‘王大炮‘,‘李二丫‘}# for item in python_stu:# print(item)# linux_stu={‘张铁蛋‘,‘刘铜蛋‘,‘赵金蛋‘,‘alex‘,‘kevin‘,‘oldboy‘}#3、|合集:取两个集合合并后的结果,例如:取老男孩所有报名的学生姓名# print(python_stu | linux_stu)# print(python_stu.union(linux_stu)) # python_stu=python_stu.union(linux_stu)# python_stu.update(linux_stu)# print(python_stu) #4、&交集: 取两个集合共同的部分,例如:取同时报名两门课程的学员# print(python_stu & linux_stu)# print(python_stu.intersection(linux_stu))# python_stu.intersection_update(linux_stu) #python_stu=python_stu.intersection(linux_stu)# print(python_stu) #5、-差集: 取存在于左边结合但不存在与右面集合的元素,例如:取只报名python课程的学员# print(python_stu - linux_stu)# print(python_stu.difference(linux_stu)) #6、^对称差集:例如:取没有同时报名两门课程的学员# print((python_stu - linux_stu) | (linux_stu - python_stu))# print(python_stu ^ linux_stu)# print(python_stu.symmetric_difference(linux_stu)) #7、==判断是否相等,集合中只要元素相等,集合就相等,集合是无序的# s1={1,2,3}# s2={3,2,1}# print(s1 == s2) #8、父集:>= print(s1.issuperset(s2))#9、子集:<= print(s2.issubset(s1))# s1={1,2,3,4}# s2={1,2,3}# print(s1 >= s2)# print(s1.issuperset(s2))# print(s2.issubset(s1)) # 集合類型其他内置方法(**)##pop 从最后面弹出来 一个一个按照顺序弹出来# s1={‘a‘,‘b‘,‘c‘}# print(s1.pop())# print(s1)# print(s1.pop())# print(s1)# print(s1.pop())# print(s1) # res=s1.remove(‘b‘)# print(s1)# print(res)# s1.remove(‘d‘)# s1.discard(‘d‘)# print(s1) # s1.add(‘d‘)# print(s1) # s1={1,2,3}# s2={6,4,5}# print(s1.isdisjoint(s2))#判断两个集合是否有交集# ======================================该类型总结====================================# 集合是存多个值的# 无序的# 可变类型(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash) # s1={1,2,3}# print(id(s1))# s1.update({4,5,6})# print(s1)# print(id(s1)) # 去重:# stus=[‘egon‘,‘egon‘,‘egon‘,‘kevin‘,1,2,3,‘alex‘]# res=set(stus)# print(list(res)) #去重的局限性:#1. 被去重的元素必須是不可变类型#2. 不能保证原来的顺序 # l=[# {‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘},# {‘name‘:‘alex‘,‘age‘:73,‘sex‘:‘male‘},# {‘name‘:‘kevin‘,‘age‘:20,‘sex‘:‘female‘},# {‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘},# {‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘},# ]# # print({‘name‘:‘egon‘,‘age‘:18,‘sex‘:‘male‘} in l)# l1=[]# for dic in l:# if dic not in l1:# l1.append(dic)# print(l1)
原文地址:https://www.cnblogs.com/1832921tongjieducn/p/10068397.html
时间: 2024-08-02 00:44:32