第007篇:集合

2019-11-12  本文已影响0人  yydafx

1、什么是集合(set)

1.1、空集合

a = {}
print(type(a))  # <class 'dict'>

set1 = set()
print(type(set1))  # <class 'set'>

2、集合中的元素

set1 = {1, 2, 'aa', (10,)}
print(set1)  # {'aa', 1, 2, (10,)}

# 证明集合元素不可变(传入可变元素会报错)
# set1 = {1,2,'aa',(10,),[12,2]}
# print(set1)     # TypeError: unhashable type: 'list'


# 集合中的元素是唯一的(自带去重功能)
set1 = {1, 3, 4, 2, 4, 1, 6, 7}
print(set1)  # {1, 2, 3, 4, 6, 7}

3、增删查

3.1、查
set1 = {3, 5, 2, 5, 23, 43, 1, 65, 13, 3, 2, 1, 12}
for x in set1:
    print(x, end=', ')  # 1, 2, 3, 65, 5, 43, 12, 13, 23,
print()
3.2、增
set1 = {3, 5, 2, 5, 23}
set1.add(10)
print(set1) # 1, 2, 3, 65, 5, 43, 12, 13, 23,
set1 = {3, 5, 2, 5, 23}
set1.update('abd')
print(set1)     # {2, 3, 5, 'a', 23, 'b', 'd'}
3.3、删
set1 = {3, 5, 2, 5, 23}
set1.remove(2)
print(set1)  # {3, 5, 23}


set1 = {3, 5, 2, 5, 23}
set1.discard(23)
print(set1)     # {2, 3, 5}

3.4、改

 傻孩子,既然选择了集合,就别想着改了

4、相关操作

 in/not in

set1 = {3, 5, 2, 5, 23}
print(2 in set1)    # True

5、集合的数学运算

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
print(set1 | set2)  # {1, 2, 3, 4, 5, 6, 7, 8}

2)交集: 集合1&集合2 --> 获取两个集合的公共部分产生一个新的集合

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
print(set1 & set2)  # {4, 5}

3)差集: 集合1-集合2 --> 集合1减去集合2剩下的部分产生一个新的集合

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
print(set1 - set2)  # {1, 2, 3}

4)对称差集: 集合1^集合2 --> 获取集合1和集合2合并后去掉公共部分剩下的部分

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
print(set1 ^ set2)  # {1, 2, 3, 6, 7, 8}

5)包含关系: 集合1>集合2 --> 判断集合1中是否包含集合2
 包含关系: 集合2>集合1 --> 判断集合2中是否包含集合1

set1 = {1, 2, 3, 4, 5, 6, 7}
set2 = {5, 6, 7}
print(set1 > set2)  # True
print(set1 < set2)  # False
上一篇下一篇

猜你喜欢

热点阅读