DAY02 - 数据类型: 集合

集合

定义: S=set(). 注意S={}为字典类型

求两个列表的公共部分

1 pythons=[‘AAA‘,‘BBB‘,‘CCC‘,‘DDD‘,‘EEE‘,‘FFF‘]
2 linuxs=[‘DDD‘,‘GGG‘,‘EEE‘]
3 res=[]
4 for p in pythons:
5     if p in linuxs:
6         res.append(p)
7 print(res)>>> [‘DDD‘,‘EEE‘]

1 集合内可以有多个元素,但是每个元素都必须是不可变类型,即可hash类型
2 集合内的元素唯一
3 集合是无序的
s={1,‘a‘,1,1,1,1,1,1}
#本质 s=set({1,‘a‘,1,1,1,1,1,1})

1 s1=set(‘hello‘)
2 print(s1,type(s1))>>> {‘l‘, ‘h‘, ‘e‘, ‘o‘} <class ‘set‘>

集合优先掌握的方法

1 pythons={‘AAA‘,‘BBB‘,‘CCC‘,‘DDD‘,‘EEE‘,‘FFF‘}
2 print(‘AAA‘ not in pythons)>>> False
3 print(pythons) #集合是无序的>>> {‘EEE‘, ‘CCC‘, ‘BBB‘, ‘FFF‘, ‘DDD‘, ‘AAA‘}

集合的关系运算

s1={1,10,11,22}
s2={1,11,33}

交集

1 print(s1 & s2)>>> {1,11}

并集

1 print(s1 | s2)>>> {1, 33, 10, 11, 22}

差集

1 print(s1 - s2)>>> {10,22}
2 print(s2 - s1)>>> {33}

对称差集

1 print(s1 ^ s2)>>> {33,22,10}

集合的父集与子集

父集

1 s1={1,2,3,5}
2 s2={1,5}
3 print(s1 >= s2)>>> True

子集

1 s1={1,2,3,5}
2 s2={1,5}
3 print(s1 <= s2)>>> False
4 print(s2 <= s1)>>> True

集合的内置方法

pythons={‘AAA‘,‘BBB‘,‘CCC‘,‘DDD‘,‘EEE‘,‘FFF‘}
linuxs={‘DDD‘,‘GGG‘,‘EEE‘}
1. 求出即报名python又报名linux课程的学员名字集合

1 print(pythons & linuxs)
2 print(pythons.intersection(linuxs))>>> {‘EEE‘, ‘DDD‘}

2. 求出所有报名的学生名字集合

1 print(pythons | linuxs)
2 print(pythons.union(linuxs))>>> {‘EEE‘, ‘CCC‘, ‘BBB‘, ‘GGG‘, ‘FFF‘, ‘DDD‘, ‘AAA‘}

3. 求出只报名python课程的学员名字

1 print(pythons - linuxs)
2 print(pythons.difference(linuxs))>>> {‘AAA‘, ‘CCC‘, ‘FFF‘, ‘BBB‘}

4. 求出没有同时这两门课程的学员名字集合

1 print(pythons ^ linuxs)
2 print(pythons.symmetric_difference(linuxs))>>> {‘CCC‘, ‘BBB‘, ‘GGG‘, ‘FFF‘, ‘AAA‘}

集合的其他内置方法

1 s={1,2,3,‘a‘}
2 s.add(5)
3 print(s) #集合是无序的>>> {1, 2, 3, 5, ‘a‘}
4 print(s.pop()) #集合是无序的>>> 1
5 s.remove(‘a‘) #根据元素删除
6 print(s)>>> {2, 3, 5}
7 s.remove(‘vvvvvvvvvv‘) #元素不存在报错KeyError
8 s.discard(‘aaaaaa‘) #元素不存在不报错
9 print(s)>>> {2, 3, 5}
时间: 2024-11-06 12:02:20

DAY02 - 数据类型: 集合的相关文章

第二十节,基本数据类型,集合set、综合应用新数据更新老数据

基本数据类型,集合set.综合应用新数据更新老数据 创建两个字典新数据,更新原始数据,a为原始数据,b为新数据 1,分别获取到a字典和b字典的key(键),将两个字典的键分别转换成两个集合 2,找出a2集合里存在,b2集合里不存在的元素,得到:{'#2', '#3'}(需要删除:?) 3,找出b2集合里存在,a2集合里不存在的元素,得到:{'#4', '#7'}(需要新建:?) 4,找出a2集合和b2集合有交集的元素,也就是a2集合和b2集合都存在的元素,得到:{'#1'}(需要更新:?) 5,

Oracle存储过程-自定义数据类型,集合,遍历取值

摘要 Oracle存储过程,自定义数据类型,集合,遍历取值 目录[-] 0.前言 1.Packages 2.Packages bodies 3.输出结果 0.前言 在Oracle的存储过程中,可能会遇到数据处理,假如我们目前的功能在一个Packages中 Packages封装了多个不同功能的Procedure,我们在一个Procedure里面进行统计 在另外一个Procedure进行计算 这就需要一个存放结果集的地方 以前的解决方案是:建立了一个临时表,数据统计出来后,放入临时表中 在另外一个P

WPF ListView绑定基础数据类型集合

ListView中前台数据源绑定基础数据类型集合时没有Path名称,例如直接绑定List<string>,List<int>,BingdingList<string>等,此时直接使用{Bingding Path=.}即可 <ListView.View> <GridView> <GridViewColumn Header="HeaderName" > <GridViewColumn.CellTemplate&g

DAY02 - 数据类型: 数字

一.什么是数据? x=10,10是我们要存储的数据 二.为何数据要分不同的类型 数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示 三.数据类型 数字(整型,浮点型,复数) 字符串 列表 元组 字典 集合 数字 定义: age=10 #本质age=int(10) salary=3000.3 #本质salary=float(3000.3) 十进制转二进制 1 age=10 #age=int(10) 2 print(bin(age)) >>> 0b1010 十进制转八进制 1 a

10 Python 数据类型—集合

在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算. sets 支持 x in s

数据类型--集合

数据类型的种类 常用的:1.数字2.字符串3.列表4.元祖5.集合 不常用的:队列有序字典默认字典 集合的特点 1.无序 2.去重(重要) 3.可嵌套 4.关系测试(重要) 创建集合 (一).回顾:创建列表的2中方法: 1.li = [] #直接创建 2.list() #可以将其他数据类型转换成列表(相当于在内存有创建一个) 注意: 它会自动去执行list里面的构造方法__init__. list __init__,内部执行for循环(11,22,33,44)转换成[11,22,33,44] 在

006---Python基本数据类型--集合

集合 .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table td, .table th { background-color: #fff !important; } .table-bordered th, .table-bord

python 数据类型 --- 集合

1. 注意列表和集合的区别 set 列表表现形式: list_1 = [1,3,4];  集合表现形式:set_1= set() list_1 = [1,2,3,4,23,4,2] print(list_1,type(list_1)) list_1 = set(list_1) print(list_1,type(list_1)) list_2 = set([2,4,6,8,10]) print(list_2,type(list_2)) #运行结果 [1, 2, 3, 4, 23, 4, 2] <

Python的学习之旅———基本数据类型(集合类型)

# 作用:去重,关系运算,# 定义:# 1:每个元素必须是不可变类型(可hash,可作为字典的key)# 2:没有重复的元素# 3:无序# s={1,2,'a','b','c','d','e','f'} #s=set({1,2,'a'}) # print(type(s),s) # 优先掌握的操作:# 长度len# s={1,2,'a','b','c','d','e','f'}# print(len(s))# 成员运算in和not in# print('a' in s)# for item in