Python3.7之集合
集合中的元素有三个特征:
1.互异性:由不同元素组成
2.无序性:如集合{3,4,5}和集合{3,5,4}算作同一个集合
3.集合中的元素必须是不可变类型(可hash)
一、集合的定义
1.集合的去重效果
>>> L = {
1,2,3,1}
>>> L
{
1, 2, 3}
2.定义可变集合(注意集合具有无序性)
>>> set_test=set('hello')
>>> set_test
{
'l', 'o', 'e', 'h'}
3.定义不可变集合frozenset
>>> f_set_test=frozenset(set_test)
>>> f_set_test
frozenset({
'l', 'o', 'e', 'h'})
二、集合的关系运算
1.子集
子集,为某个集合中一部分的集合,故亦称部分集合。
使用操作符 < 执行子集操作,同样地,也可使用方法 issubset() 完成。
>>> A = set('abcd')
>>> B = set('cdef')
>>> C = set("ab")
>>> C < A
True # C 是 A 的子集
>>> C < B
False
>>> C.issubset(A)
True
2.并集
一组集合的并集是这些集合的所有元素构成的集合,而不包含其他元素。
使用操作符 |
执行并集操作,同样地,也可使用方法 union() 完成。
>>> A | B
{
'c', 'b', 'f', 'd', 'e', 'a'}
>>> A.union(B)
{
'c', 'b', 'f', 'd', 'e', 'a'}
3.交集
两个集合 A 和 B 的交集是含有所有既属于 A 又属于 B 的元素,而没有其他元素的集合。
使用 &
操作符执行交集操作,同样地,也可使用方法 intersection() 完成。
>>> A & B
{
'c', 'd'}
>>> A.intersection(B)
{
'c', 'd'}
4.差集
A 与 B 的差集是所有属于 A 且不属于 B 的元素构成的集合
使用操作符 - 执行差集操作,同样地,也可使用方法 difference() 完成。
A - B
{
'b', 'a'}
A.difference(B)
{
'b'