8、python集合&函数(上)——旺仔

在这里插入图片描述

一、集合

1、集合的简介

  • 集合表现形式为set 集合和列表非常相似
  • 不同点
    • 集合只能存储不可变对象
    • 集合中存储的对象是无序的
  • 集合不能出现重复元素
  • 使用{}来创建集合
  • 可以通过set()来将序列和字典转换成集合

总结一下:
集合的最大特点是:集合里边的元素是不可重复的并且集合内的元素还是无序的。
集合与字典的创建都是用花括号——{},但是集合是没有key与value键值对的。
一般情况下集合常用的两个场景是:

  • 去重(如:列表去重);
  • 关系测试(如:取交集、取并集、取差集等)
  • 代码展示讲解
#  使用{}来创建集合
set1 = {2, 'ab'}
print(set1)
# 运行结果 》》》{2, 'ab'}
# 创建空集合, 需要用到set()
s = {}  
print(type(s))
# 运行结果 》》》<class 'dict'>

s = set()
print(type(s))
# 运行结果 》》》<class 'set'>
# 集合只能存储不可变对象
set1 = {2, 'ab', [1, 2, 3]}
print(set1, type(set1))
# 上述代码一运行就会报错,因为集合只能存储不可变对象,列表是可变对象
# 集合中存储的对象是无序的
set2 = {6, 8, 9}
print(set2)
# 运行结果 》》》{8, 9, 6}
# 集合不能出现重复元素 通过这一特性,我们可以来做一个数据去重的效果
set3 = {1, 2, 3, 4, 1, 2, 3, 4}
print(set3)
# 运行结果 》》》{1, 2, 3, 4}

list1 = [1, 1, 2, 3, 3]     # 列表通过set()转换成集合去重
s4 = set(list1)
print(s4)
# 运行结果 》》》{1, 2, 3}

2、集合的使用

集合的一些方法与列表都是通用的,但是还是要看一下的哦,方法,虽然差不多,但是练习一下总没坏处哦。

集合的方法 说明
len() 使用len()来获取集合中元素的数量
add() 像集合中添加元素
update() 将一个集合中的元素添加到另一个集合当中
pop() 随机删除集合中的一个元素一般是删除开始一个元素
remove() 删除集合中指定的元素
clear() 清空集合
  • len() 使用len()来获取集合中元素的数量
set1 = {2, 'ab'}
print(len(set1))
# 运行结果 》》》2
  • add()像集合中添加元素
s = set()
s.add(1)
s.add('a')
print(s)
# 运行结果 》》》{1, 'a'}
  • update()将一个集合中的元素添加到另一个集合当中
s1 = {1, 2, 3}
s2 = {'a', 'b', 'c'}
s1.update(s2)
print(s1)
# 运行结果 》》》{'c', 1, 2, 3, 'a', 'b'}
  • pop()随机删除集合中的一个元素一般是删除开始一个元素
s1 = {'c', 1, 2, 3, 'a', 'b'}
s1.pop()
print(s1)
# 运行结果 》》》{2, 3, 1, 'a', 'b'}
s1.pop()
print(s1)
# 运行结果 》》》{3, 1, 'a', 'b'}
  • remove() 删除集合中指定的元素
s1 = {1, 2, 3, 'a', 'b','c'}
s1.remove('a')
print(s1)
# 运行结果 》》》{1, 2, 3, 'c', 'b'}
  • clear() 清空集合
s1 = { 1, 2, 3, 'a', 'b','c'}
s1.clear()
print(s1)
# 运行结果 》》》set()

3、集合的运算

运算 说明
& 交集运算,结果为一样的部分
| 并集运算,将2个集合 合并成一个集合
- 差集运算,结果为第一个集合与第二个集合不一样的元素
^ 亦或集,将2个集合不一样的地方合并成一个集合
<= 检查一个集合是否是另一个集合的子集
< 检查一个集合是否是另一个集合的真子集
>= 检查一个集合是否是另一个集合的超集
> 检查一个集合是否是另一个集合的真超集
  • 代码演示
s1 = {1, 2, 3, 7, 8}
s2 = {4, 5, 6, 7, 8}

#  交集运算(&)
s3 = s1 & s2
print(s3)
# 运行结果 》》》{8, 7}

# | 并集运算
s4 = s1 | s2
print(s4)
# 运行结果 》》》{1, 2, 3, 4, 5, 6, 7, 8}

# - 差集运算
s5 = s1 - s2
print(s5)
# 运行结果 》》》{1, 2, 3}

# ^ 亦或集
s6 = s1 ^ s2
print(s6)
# 运行结果 》》》{1, 2, 3, 4, 5, 6}

让我们先了解一下子集,真子集和超集,真超集的基本概念

<
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值