Python基础之集合

1.创建集合

  集合用于存放一组无序的元素,跟字典一样无法通过索引查找元素,同样用大括号’{}',集合相当于字典中的key的集合,元素不能重复,即天生去重,是不可修改类型,即无法修改元素;可直接赋值生成

1 se1 = {1,2,3,4,5}
2 print(se1)
3 print(type(se1))
4 结果:
5 {1, 2, 3, 4, 5}
6 <class 'set'>

  可以set()方法将列表转换成集合。

1 lis = [1,2,3,4,5]
2 se1 = set(lis)
3 print(se1)
4 结果:
5 {1, 2, 3, 4, 5}

2.增

1)se1.add()添加集合元素,一次只能添加一个。

1 se1 = {1,2,3,4,5}
2 se1.add(6)
3 print(se1)
4 结果:
5 {1, 2, 3, 4, 5, 6}

2)se1.update([])添加集合元素,中括号内可以添加多个元素,即批量添加。

1 se1 = {1,2,3,4,5}
2 se1.update([6,7,8])
3 print(se1)
4 结果:
5 {1, 2, 3, 4, 5, 6, 7, 8}

3.删

  se1.remove()删除元素

1 se1 = {1,2,3,4,5}
2 se1.remove(1)
3 print(se1)
4 结果:
5 {2, 3, 4, 5}

4.union()并集(|)

  将两个集合合并,去除重复元素,组成一个新的集合,两个原集合不会发生变化。

 1 se1 = {1,2,3,4}
 2 se2 = {3,4,5,6}
 3 se = se1 | se2
 4 print(se)
 5 print(se1)
 6 print(se2)
 7 结果:
 8 {1, 2, 3, 4, 5, 6}
 9 {1, 2, 3, 4}
10 {3, 4, 5, 6}
11 
12 *****分割线*****
13 
14 se1 = {1,2,3,4}
15 se2 = {3,4,5,6}
16 se = se1.union(se2)
17 print(se)
18 结果:
19 {1, 2, 3, 4, 5, 6}
View Code

5.intersection()交集(&)

  取两个集合的交集,即共同共有的元素,组成一个新的集合,两个原集合不变。

 1 se1 = {1,2,3,4}
 2 se2 = {3,4,5,6}
 3 se = se1 & se2
 4 print(se)
 5 print(se1)
 6 print(se2)
 7 结果:
 8 {3, 4}
 9 {1, 2, 3, 4}
10 {3, 4, 5, 6}
11 
12 *****分割线*****
13 
14 se1 = {1,2,3,4}
15 se2 = {3,4,5,6}
16 se = se1.intersection(se2)
17 print(se)
18 结果:
19 {3, 4}
View Code

6.difference()差集(-)

  如取a,b两集合的差集a.difference(b),组成一个新集合c,且c集合中只有集合a中独有的元素。

 1 se1 = {1,2,3,4}
 2 se2 = {3,4,5,6}
 3 se = se1 - se2
 4 print(se)
 5 结果:
 6 {1, 2}
 7 
 8 *****分割线*****
 9 
10 se1 = {1,2,3,4}
11 se2 = {3,4,5,6}
12 se = se1.difference(se2)
13 print(se)
14 结果:
15 {1, 2}
View Code

7.symmetric_difference()对称差集(^)

  如取a,b两集合的堆成差集a.symmetric_difference(b),组成一个新集合c,且c集合中是集合a和集合b中各自的独有元素,即堆成差集与交集相反。

 1 se1 = {1,2,3,4}
 2 se2 = {3,4,5,6}
 3 se = se1 ^ se2
 4 print(se)
 5 结果:
 6 {1, 2, 5, 6}
 7 
 8 *****分割线*****
 9 
10 se1 = {1,2,3,4}
11 se2 = {3,4,5,6}
12 se = se1.symmetric_difference(se2)
13 print(se)
14 结果:
15 {1, 2, 5, 6}
View Code
posted @ 2019-12-13 14:44  fox不二  阅读(216)  评论(0编辑  收藏  举报