集合是什么?python3常用的集合方法有哪些?

2025-09-27 01:50:44

1、一:什么是集合?

1、  集合(set)是可变的容器。

2、  集合内的数据对象是唯一的(是不能重复的)。

3、  集合是无序的存储结构,集合中的数据没有先后关系(特点:插入、删除比较快)。

4、  集合内的元素必须是不可变对象。

5、  集合是可迭代的。

6、  集合是相当于只有键没有值的字典(键则是集合的数据)。

2、二:集合的创建

1、  创建空的集合: s = set()

2、  创建非空集合: s = {1,2,3}      #集合中的三个整数:1,2, 3

3、  集合的构造函数:

Set()   创建空集合

Set(iterable)        用可迭代对象创建一个新的集合

示例:

s = set(‘ABC’)

s = set(‘ABCCBA’)        ----  多了一个A和C,默认会把多余的A\C删除

s = set({1:’一’, 2:’二’, 3:’三’})    用字典生成的集合,只有键,没有值

s = set([1, 3.14, False])

s = set((2,3,5,7))         -----  元组转换成集合

集合是什么?python3常用的集合方法有哪些?

3、三:集合的运算:交集、 并集 、补集、 子集、 超集

 

1、生成两个集合的交集: &

   S1 = {1,2,3}

   S2 = {2,3,4}

   S3 = s1 & s2

2、生成两个集合的并集:|  (即存在s1中,也存在s2中,去掉重复项)

   S1 = {1,2,3}

   S2 = {2,3,4}

   S3 = s1 | s2  

1、  生成两个集合的补集:- 生成属于s1,但不属于s2的所有元素的元素的集合。

S1 = {1,2,3}

S2 = {2,3,4}

S3 = s1 - s2

2、  生成两个集合的对称补集:^

S1 = {1,2,3}

S2 = {2,3,4}

S3 = s1 ^ s2

3、  判断一个集合是另一个集合的子集: <

S1 = {1, 2, 3}

S2 = {2, 3}

S2 < s1      #True    判断子集

4、  判断一个集合是另一个集合的超集: >

S1 = {1, 2, 3}

S2 = {2, 3}

S1 > s2      #True    判断超集

5、  == != 集合相同/不同

S1 = {1, 2, 3}

S2 = {2, 3,1}

S1 == s2  #True

S1 != s2  #   集合的数据没有先后关系

6、  in /not in 运算符

等同于字典,in运算符用于集合中,当某个值存在于集合中,则为真,否则为假,not in与in返回值相反。

示例:

    S = {1, ‘Two’3.14}

    1 in s  #True

    2 in s  #False

    3.14  not in s #False

   4 not in s   #True

集合是什么?python3常用的集合方法有哪些?

4、四:集合的方法:集合是可变对象,可用方法添加、删除集合的数据。

A:集合与列表等一些常用的方法相似

1、s.add(e)      在集合中添加一个新的元素e;如果元素已经存在,则不添加

2、s.remove(e)   从集合中删除一个元素,如果元素不存于集合中,则会产生一个KeyError

3、s.clear(e)     清空集合内的所有元素

4、s.discard(e)   从集合s中移除一个元素e,在元素e不存在时什么都不做

5、s.copy()      将集合进行一次浅拷贝

6、s.pop()       从集合中删除一个随机元素,如果此集合为空,则引发错误

7、update(s2)    用s与s2得到的全集更新

集合是什么?python3常用的集合方法有哪些?

5、B:集合专用方法

1、s.difference(s2)   用s – s2运算,返回存在于在s中,但不在s2中的所有元素

2、s.difference_update(s2)  等同于s = s – s2

3、s.intersection(s2)       等同于s & s2

4、s.intersection_update(s2)   等现于 s = s &s2

5、s.isdisjoint(s2)            如果s与s2交集为空返回True,非空则返回False

6、s.issubset(s2)             如果s与s2交集为非空返回True,空则返回False

7、s.issuperset()             如果s 为s2的子集返回True,否则返回False

8、s.symmetric_difference(s2)  返回对称补集,等同于s^s2

9、s.symmetric_difference_update(s2)  用s与s2的对称补集更新s

10、s.union(s2)                 生成s与s2的全集

6、五:练习

任意输入一个单词,存入集合中,当输入回车时,结束输入

1、  打印您输入的单词的种类数(去重)

2、  每个字母都打印到终端上显示

集合是什么?python3常用的集合方法有哪些?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢