python数据容器---集合(set)

目录

1、为什么使用集合

2、集合的定义

2.1 基本语法

2.2 定义变量

2.3 定义空集合

3、集合的相关操作

3.1 添加新元素

3.2 移除元素

3.3 从集合中随机取出元素

3.4 清空集合

3.5 取出2个集合的差集

3.6 消除2个集合的差集

3.7 2个集合合并

3.8 统计集合元素数量

3.9 集合的遍历

4、集合常用功能总结

5、 集合的特点


1、为什么使用集合

  • 列表可以修改、支持重复元素且有序。
  • 元组、字符串不可修改、支持重复性元素且有序
  • 如果场景需要对内容做去重处理,列表、元组、字符串就不方便了。
  • 集合的主要特点就是:不支持元素的重复(自带去重功能),并且内容无序。

2、集合的定义

2.1 基本语法

{ 元素1, 元素2, 元素3, 元素4, 元素5, ...}

2.2 定义变量

变量名称 = {元素1, 元素2, 元素3, 元素4, 元素5, ...}

2.3 定义空集合

变量名称 = set()

3、集合的相关操作

3.1 添加新元素

语法:集合.add(元素)

my_set = {"itcast","教育",21,"itcast","教育",21}
my_set.add("python")
print(f"my_set添加元素后结果是:{my_set}")

my_set添加元素后结果是:{'itcast', '教育', 'python', 21}

3.2 移除元素

语法:集合.remove(元素)

# 2. 删除元素
my_set.remove("教育")
print(f"my_set删除教育后结果是:{my_set}")

my_set删除教育后结果是:{'itcast', 'python', 21}

3.3 从集合中随机取出元素

语法:集合.pop()

#3. 随机取出元素pop
element = my_set.pop()
print(f"my_set随机取出元素是:{element},取出元素后:{my_set}")

my_set随机取出元素是:itcast,取出元素后:{'python', 21}

3.4 清空集合

语法:集合.clear()

3.5 取出2个集合的差集

语法:集合1.difference(集合2)

功能:取出集合1和集合2的差集(集合1有而集合2没有的)

结果:得到一个新集合,集合1和集合2不变

# 5. 取出2个集合的差集
set1 = {1,2,3}
set2 = {1,5,6}
set3 = set1.difference(set2)
print(f"取出差集后结果是:{set3}")

取出差集后结果是:{2, 3}

3.6 消除2个集合的差集

语法:集合1.difference_update(集合2)

功能:对比集合1和集合2,在集合1内,删除和集合2相同的元素。

结果:集合1被修改,集合2不变

# 6. 消除2个集合的差集
set1.difference_update(set2)
print(f"消除差集后,集合1内容是:{set1}")

消除差集后,集合1内容是:{2, 3}

3.7 2个集合合并

语法:集合1.union(集合2)

功能:将集合1和集合2组成新的集合

# 7. 2个集合合并
set4 = set1.union(set2)
print(f"2集合合并结果是:{set4}")

2集合合并结果是:{1, 2, 3, 5, 6}

3.8 统计集合元素数量

# 8. 统计元素数量len()
num = len(set1)
print(f"集合元素数量有{num}个")

集合元素数量有2个

3.9 集合的遍历

集合不支持while循环,只支持for循环遍历。

# 9. 集合的遍历
set = {1,2,3,4,5}
for i in set:
    print(f"集合的元素有{i}")
集合的元素有1
集合的元素有2
集合的元素有3
集合的元素有4
集合的元素有5

4、集合常用功能总结

操作功能
集合.add(元素)集合内添加元素
集合.remove(元素)集合删除指定元素
集合.pop()从集合随机取出一个元素
集合.clear()将集合清空
集合1.difference(集合2)两集合差集(即:集合1-集合2)得到一个新集合

集1.difference_update

(集合2)

在集合1中删除集合2中有的元素,集合1被修改集合2不变
集合1.union(集合2)集合1和集合2合并
len(集合)统计集合元素数量

5、 集合的特点

  • 数据是无序存储的(不支持下标索引)
  • 不允许重复数据
  • 不支持while循环,支持for循环

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值