Python学习笔记(3-4):内置数据结构之集合
文章导读
- 课程难度:★☆☆☆☆
- 预计学习时间:20分钟
- 简介:本节主要讲解了Python内置数据结构中集合数据的两种定义方式及几个常用的操作函数。
- 重点涉及的函数和内容:(1)set()函数定义集合;(2)增添元素:add();(3)删除元素:remove()、discard()和pop()函数;
(4)集合中求交集、并集、差集以及异或运算。
一、集合的定义
集合就像是我们在中学数学中学习过的集合一样,是无序、可变的容器对象,所有元素放在大括号{}
中,元素之间用逗号分隔开,一个集合内的元素不能重复。
集合的定义有两种方式,一种是根据元组、列表以及以后的各种各样的numpy或是pandas序列中进行定义,使用set()
函数;另一种是直接用{}
定义,如果在大括号{}
中没有元素则不会形成集合,因为这时定义的是一个空字典。定义过程和输出结果如下:
1、使用set()函数
a = [1, 2, 3, 3, 4, 4, 4, 5]
print(set(a))
a = (1, 2, 3, 3, 4, 4, 4, 5)
print(set(a))
输出结果如下:
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
2、使用花括号{}
直接写一个{}
,在里面描述自己想要提到的元素即可:
a = {1, 2, 3, 3, 4, 4, 4, 5}
print(a)
输出结果如下:
{1, 2, 3, 3, 4, 4, 4, 5}
二、集合的操作函数
集合的操作有两种方法,一种是利用函数,另一种是利用运算符。利用集合的成员函数会改变原值,同时没有返回值,但利用运算符,不会改变原值,返回的是运算结果。
1、增添元素:.add()函数
a = {1, 2, 3, 4, 5}
a.add(6)
print(a)
a.add(6) # 元素6在集合a中已经存在,因此不会追加进集合中,同时不会报错
print(a)
输出结果如下:
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5, 6}
2、删除元素:remove()、discard()和pop()函数
remove()
和discard()
函数都是用于删除集合中指定值的元素,而pop()
是随机删除集合中的元素。
(1) remove()
函数,如果集合里没有待移除元素,就会报错。
a = {1, 2, 3, 4, 5}
a.remove(2)
print(a)
a.remove(2) # 报错1,在删除两次2之后,列表a中没有2了
print(a)
输出结果如下:
{1, 3, 4, 5}
# 报错1【KeyError: 2】
(2)discard()
函数,如果集合里没有待删除的元素,不会报错而会返回原集合
a = {1, 2, 3, 4, 5}
a.discard(2)
print(a)
a.discard(2)
print(a)
输出结果如下:
{1, 3, 4, 5}
{1, 3, 4, 5}
(3)pop()
函数,用来随机删除并返回集合中的一个元素,如果集合为空则会报错
a = {6, 2, 3, 4, 5}
print(a.pop())
输出结果如下:
2
3、集合运算:&、|、-、^
在集合运算中,我们常用的运算包括求交集、并集、差集以及异或运算
a = {1, 2, 3, 4, 5}
b = {4, 5, 6, 7, 8}
print(a & b) # 交集
print(a | b) # 并集
print(a - b) # 差集,返回属于a但不属于b的元素
print(a ^ b) # 异或,返回不同时存在于两个集合的元素
输出结果如下:
{4, 5}
{1, 2, 3, 4, 5, 6, 7, 8}
{1, 2, 3}
{1, 2, 3, 6, 7, 8}
这种方式也同时支持结合赋值运算,像数值运算中+=
、-=
一样:
a &= b
print(a)
输出结果如下:
{4, 5}
对于缺乏Python基础的同仁,可以通过免费专栏🔥《Python学习笔记(基础)》从零开始学习Python
结语
请始终相信“Done is better than perfect”
,不要过分追求完美,即刻行动就是最好的开始, 一个模块一个模块地积累和练习,必将有所收获。
还有其他的问题欢迎在评论区留言📝!
[版权申明] 非商业目的注明出处可自由转载,转载请标明出处!!!
博客:butterfly_701c