一、概念
set():又称为动态数组.集合是一个无序不重复(唯一)的集合
基本功能包括:关系测试和消除重复元素.
集合对象还支持union(联合),intersection(交),difference(差)和sysmmetric difference(对称差集)等数学运算.
二、集合的创建
大括号或set()函数可以用来创建集合
注意:想要创建空集合,必须使用set()而不是{} {}用于创建空字典
创建语法:
set1=set() set2={'a',1} print(type(set1)) print(type(set2)) print(set2)
执行命令得
<class 'set'> <class 'set'> {1, 'a'}
使用set()构造函数将字典/列表/元组转换成集合形式
set1=set(('哈哈','呵呵')) print(type(set1)) print(set1) set2=set({'a':1,'b':2})#集合中只提取字典中的key值 因为key是唯一的 print(type(set2)) print(set2) set3=set([1,2,3]) print(type(set3)) print(set3)
执行命令得
<class 'set'> {'呵呵', '哈哈'} <class 'set'> {'b', 'a'} <class 'set'> {1, 2, 3}
三、集合的内置函数
序号 | 函数及描述 |
1 | set.add(obj) obj不存在就添加 存在不添加 |
2 | set.remove(obj) obj存在就删除 不存在就抛异常 |
3 | set.clear() 清空集合 |
4 | set.pop() 随机删除一个 正整数中最小的 并且返回 |
5 | set.update('abcd') 将字符串或集合中的数据联合放到set集合中 |
set={1,2,3} set.add(4)#在集合中添加4 print(set) set.remove(3)#删除集合中的3 print(set) rand=set.pop() print('随机删除一个:',rand) set.update('abcd')#将字符串abcd联合放到集合中 print(set) set.clear()#清空集合 print(set)
执行命令得
{1, 2, 3, 4} {1, 2, 4} 随机删除一个: 1 {'d', 2, 4, 'b', 'a', 'c'} set()
四、集合的运算
a={} b{}
<1>演示联合 只要出现过得全部提取
print(a|b)
<2>演示交 重复的元素提取
print(a&b)
<3>演示差 以a为主 去掉重复 剩下a中数据 以前者为主
print(a-b)
<4>对称差集 提取不重复的数据
print(a^b)
例:
a={"peace","peace","rong","rong","nick"}
b={"nick","haha",'rong'}
print(a)
print(b)
#演示联合 只要出现过一次全部提取
c=a|b
print(type(c))
print(c)
#演示交 重复的提取
c=(a&b)
print(type(c))
print(c)
#演示差 以前者为主去掉重复 剩下a中的数据
print(a-b)
#对称差集 不重复的数据 ^异或
print(a^b)
执行命令得
{'peace', 'nick', 'rong'} {'haha', 'rong', 'nick'} <class 'set'> {'haha', 'rong', 'peace', 'nick'} <class 'set'> {'nick', 'rong'} {'peace'} {'peace', 'haha'}