集合
===
集合:一些元素组成的整体。比如说我们班上的所有同学组成了一个名为314班级的集合
元素:组成集合的个体叫做元素,比如314班级的集合,班上的每一个同学就一个元素。属于:一个元素在一个集合里面,称为属于。记作psy是321集合。习惯用大写字母表示,小写字母表示元素。321班集合记作S,班上学生a、b、c、d属于S。 比如我不属于311班级集合,记作我不属于集合
##创建
1.创建空集合
set1=set()
2.创建非空集合
set1={'a','b','c'}
大括号扩住,里面每一个元素不是键值对,跟列表项类似
## 添加
set1={'a','b','c'}
set1.add('d')
set1 → {'a','b','d','c'}
可以看出集合无序特性
##删除
set1={'a','b','c'}
1.remove() 根据元素值来删除 set1.remove('a')
2.pop 删除集合中的某一项并返回set1.pop()
3.clear() 清空集合里所有元素
##列表vs集合
列表是有序的
集合是无序的。集合只关心元素是否出现过,不关心元素顺序
元素不能重复
场景:去重。集合之间的关系运算(和、交、并)
##去重
set([1,2,3,3,2]) →{1,2,3}
###和、交、并
1.并集 数学标记,程序符号是 | 注意集合运算用的是自己一套运算符号,不能用 and or 之类比较条件的符号
并集表示一个元素可能属于集合A,或者属于集合B
set = {1,2,3} set2 = {3,6,7}
set1 | set2 得到(想加) {1,2,3,6,7}
2.交集。 数学标记 倒U 程序中的符号是&
一个元素既属于集合A 又属于 集合B
set1 = {1,2,3} set2 = {3,6,7}
set1 & set2 得到(取出来相同的) {3}
3.差集。 程序员号 -。
A-B 表示一个元素属于但不属于集合B
set1 = {1,2,3}
set2 = {3,6,7}
set1 - set2 得到 {1,2}
4.补集。子集 -=
子集。集合B的每一个元素都属于集合A,A半酣B,B是A的子集
# 列表去重 不用set。
a= [1,2,3,4,5,1,2,4]
a1 = []
for i in a:
if i not in a1:
a1.append(i)
print(a1)