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

目录

集合的定义

 集合的常用操作---修改

移除元素

从集合中随机取出元素

清空集合

取2个集合的差集

两个集合合并        

for循环


为什么学习集合

因为之前学的列表、元组、字符串都支持重复 且有序

如果场景需要进行去重处理 那就不方便了

集合的定义

基本语法:

# 定义集合字面量
{元素,元素,....,元素}
# 定义集合变量
变量名称 = {元素,元素,....,元素}
# 定义空集合
变量名称 = set()

 集合的常用操作---修改

首先因为集合是无序的,所以集合不支持:下标索引访问

但是集合和列表一样是允许修改的

语法: 集合.add(元素)。将指定元素,添加到集合内

结果:集合本身被修改 添加了新元素

移除元素

语法: 集合.remove(元素),将指定元素 从集合内移除

结果:集合本身被修改 移除了元素

从集合中随机取出元素

语法:集合.pop() 功能 从集合中随机取出一个元素

结果:会得到一个元素的结果 同时集合本身被修改 元素被移除

清空集合

语法:集合.clear()功能 清空集合

结果 集合本身 被清空

取2个集合的差集

语法:集合1.difference(集合2) , 功能:取出集合1 和集合2 的差集 (集合1有而集合2没有的)

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

消除2个集合的差集

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

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

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

两个集合合并        

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

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

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

for循环

"""
    演示数据容器集合的使用
"""

# 定义集合
my_set = {"it", "python", "it", "python", "it", "python", "it", "python", "it", "python"}
my_set_empty = set()  # 定义空集合
print(f"my_set的内容是:{my_set},类型是:{type(my_set)}")
print(f"my_set_empty的内容是:{my_set_empty},类型是:{type(my_set_empty)}")
# 添加新元素
my_set.add("111")
print(f"my_set添加元素后的结果是:{my_set}")
# 移除元素
my_set.remove("it")
print(f"my_set移除元素后的结果是:{my_set}")
# 随机取出一个元素
my_set = {"it", "python", "it", "python", "it", "python", "it", "python", "it", "python"}
element = my_set.pop()
print(f"集合被取出的元素是{element},取出后的集合是{my_set}")
# 清空集合 ,clear
my_set.clear()
print(f"集合被清空啦,结果是:{my_set}")


# 取2个集合的差集
set1 = {1,2,3}
set2 = {1,5,6}
set3 = set1.difference(set2)
print(f"取出差集后的结果是:{set3}")
print(f"取出差集后set1结果是:{set1}")
print(f"取出差集后的set2结果是:{set2}")
# 消除两个集合的差集
print("---消除两个集合的差集---")
set1 = {1,2,3}
set2 = {1,5,6}
set1.difference_update(set2)
print(set1)
print(set2)
# 2个集合合并为1个
set1 = {1,2,3}
set2 = {1,5,6}
set3 = set1.union(set2)
print(f"2集合合并结果:{set3}")
print(f"合并后集合1:{set1 }")
print(f"合并后集合2:{set2 }")
print(f"合并后集合3:{set3 }")
# 统计集合元素数量 len()

set1 = {1,2,3,4,5}
num = len(set1)
print(f"集合内的元素数量有:{num}个")
# 集合的遍历
#集合不支持下标索引 不能用while循环
#可以用for循环
set1 = {1,2,3,4,5}
for element in set1:
    print(f"集合的元素有;{element}")
my_set的内容是:{'python', 'it'},类型是:<class 'set'>
my_set_empty的内容是:set(),类型是:<class 'set'>
my_set添加元素后的结果是:{'python', '111', 'it'}
my_set移除元素后的结果是:{'python', '111'}
集合被取出的元素是python,取出后的集合是{'it'}
集合被清空啦,结果是:set()
取出差集后的结果是:{2, 3}
取出差集后set1结果是:{1, 2, 3}
取出差集后的set2结果是:{1, 5, 6}
---消除两个集合的差集---
{2, 3}
{1, 5, 6}
2集合合并结果:{1, 2, 3, 5, 6}
合并后集合1:{1, 2, 3}
合并后集合2:{1, 5, 6}
合并后集合3:{1, 2, 3, 5, 6}
集合内的元素数量有:5个
集合的元素有;1
集合的元素有;2
集合的元素有;3
集合的元素有;4
集合的元素有;5

Process finished with exit code 0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值