第27讲 集合(和猫妹学Python)

liftword1个月前 (03-28)技术文章6

小朋友们好,大朋友们好!

我们今天学习集合(set)的知识,内容如下:

什么是集合(set)

集合的创建

集合的添加和删除

集合的交集、并集、差集

什么是集合

Python中的集合和数学中的集合概念类似,也是用于保存不重复元素的,它分为可变集合(set)和不可变集合(frozenset)。

我们要学习的是可变集合,它是无序可变序列。

集合的所有元素都放在一对{}之间,元素之间用,分割。

集合最好的应用是去掉重复元素,因为集合的每个元素是唯一的。

数学中的集合,一些能够确定的不同对象看成一个整体,而这个整体就是由这些对象的全体构成的集合。

集合最常见的操作就是创建集合,以及集合的添加、删除、交集、并集、差集等。

集合的创建

Python有两种创建集合的方式,推荐第二种方式:

  • 使用{},格式如下:

setname={setelement1,....setelementn}

  • 通过set()函数将列表、元组等可迭代对象转换为集合,格式如下:

setname=set(interation)

注意:

setname:集合名称

setelement:集合元素

interation:转换为集合的可迭代对象,可以是列表、元组、range对象等,也可以是字符串,如果是字符串,返回的集合将包含全部不重复字符的集合。

猫妹的测试代码27.2py:

print('使用{}方式创建集合:')
set1={'刘备','关羽','张飞','诸葛亮','赵云'}
print(set1)


print('\n使用interaion方式创建集合:')
list2=['曹操','司马懿','许攸']
set2=set(list2)
print(set2)

list3=('孙权','周瑜','黄盖')
set3=set(list3)
print(set3)


集合的添加和删除

向集合中添加元素,可以使用add()方法:

setname.add(element)

setname:集合名称

element:要添加集合的元素内容,只能使用字符串、数字、布尔类型。不能使用列表、元组等可迭代对象

可以使用del命令删除整个集合,也可以使用集合的pop()函数或remove()函数删除一个元素,或者使用集合的clear()函数清空集合,即使它变成空集合。

猫妹的测试代码27.3py:

print('使用set方式创建空集合:')
monk=set()
print(monk)

print('\n观音菩萨点播三藏取经')
print('使用setname.add(element)向集合添加元素:')
monk.add('唐僧')
print(monk)

print('\n五行山收徒美猴王')
print('使用setname.add(element)向集合添加元素:')
monk.add('孙悟空')
print(monk)

print('\n高老庄收徒天蓬元帅')
print('使用setname.add(element)向集合添加元素:')
monk.add('猪八戒')
print(monk)

print('\n流沙河收徒卷帘大将')
print('使用setname.add(element)向集合添加元素:')
monk.add('沙和尚')
print(monk)

print('\n三打白骨精之后,唐僧在猪八戒的煽风点火下,逐出了孙悟空')
print('使用setname.remove(element)从集合删除元素:')
monk.remove('孙悟空')
print(monk)

print('\n师徒三人不敌黄袍怪,孙悟空重回取经团队')
print('使用setname.remove(element)从集合删除元素:')
monk.add('孙悟空')
print(monk)

print('\n取经成功,四人成仙')
print('使用setname.clear()清空集合元素:')
monk.clear()
print(monk)

print('\n天下太平,安居乐业,不需要取经团队了')
print('使用del删除集合:')
del monk
print(monk)


集合的交集、并集、差集

集合最常用的操作就是进行交集、并集和差集运算,符号如下:

交集:&

并集:|

差集:-

集合在数学上的操作不止上述三个,我们现阶段学习掌握上面三个即可。

什么是集合的交集、并集、差集呢?

请看下图:

  • 并集 对于两个给定集合A、B,由两个集合所有元素构成的集合,叫做A和B的并集。
  • 对于两个给定集合A、B,由属于A又属于B的所有元素构成的集合,叫做A和B的交集。
  • 记A,B是两个集合,则所有属于A且不属于B的元素构成的集合,叫做集合A减集合B(或集合A与集合B之差),记作A-B,如上图第二行第二列。类似还有B-A。
  • 一般地,设S是一个集合,A是S的一个子集,由S中所有不属于A的元素组成的集合,叫做子集A在S中的绝对补集。


有了上面的概念,我们简单理解为:

set1={1,2,3}

set2={3,4,5}

set1|set2={1,2,3,4,5}

set1&set2={3}

set1-set2={1,2}

set2-set1={4,5}

猫妹的测试代码27.5.py:

set1={1,2,3}
set2={3,4,5}

print('\nset1和set2的并集')
print(set1|set2)

print('\nset1和set2的交集')
print(set1&set2)

print('\nset1和set2的差集(set1-set2)')
print(set1-set2)

print('\nset1和set2的差集(set2-set1)')
print(set2-set1)


好了,今天的学习就到这里!

我们下次见!

相关文章

Python 中的集合

集合是 Python 中的一种内置数据结构,表示唯一项的无序集合。集合对于涉及成员资格测试、消除重复条目以及执行数学集运算(如 union、intersection 和 difference)的操作特...

简析python中的集合

一、集合1、集合:set,把不同元素组成一起形成集合,是pthon基本的数据类型,是无序且不重复,特点是数据元素唯一、无序且不可变set(可变)frozenset(不可变)元组和字符串也不可变>...

一文带您精通Python 集合(Set):8个不可不知的技巧及示例

在 Python 中,集合(Set)与列表(List)、字典(Dict)、元组(Tuple)一起构成了基本的数据结构。集合以其独特的无序性和元素唯一性,在处理数据时具有独特的优势。然而,很多人对集合的...

Python中列表、元组、字典和集合的异同

在Python中,列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)都是内置的数据结构,它们各有特点和用途。下面是它们的异同点:相同点:都是容器类型,可以用来存储多个数...

Python集合详解

前言在上一篇《Python元组与字典用法详解》中,我们介绍了元组和字典的用法,简单回顾一下:元组:创建元组:( )和tuple()函数两种方式字典:创建字典:{ }和dict()函数两种方式访问字典元...