Day7.数据类型-集合

例题引导:

有两个班英语班和数学班,需要统计这两个班中报名情况,例如统计既报名了英语班又报名数学班的同学名字,即统计为交集。

english_c ={"ZhangSan","LiSi","James","Alex"}
math_c ={"WangWu","LiuDeHua","James","Alex"}

解题思路:统计两个集合中相同的元素 ,应想到利用集合的相关函数来实现,这道题没什么套路,只需要掌握知识点,会用即可。

参考答案:

english_c ={"ZhangSan","LiSi","James","Alex"}
math_c ={"WangWu","LiuDeHua","James","Alex"}
#1、交集--> in a and in b
#统计既报了英语班又报了数学班的同学print(english_c & math_c)
print(english_c.interp(math_c))
#输出为:{'Alex', 'James'}

#2、并集--> in a or in b
#统计报名了两个班的所有同学print(english_c | math_c)
print(english_c.union(math_c))
#输出为:{'James', 'ZhangSan', 'LiuDeHua', 'LiSi', 'Alex', 'WangWu'}

#3、差集--> in a not in b
#统计只报名英语班的同学print(english_c - math_c)
print(english_c.difference(math_c))
#输出为:{'LiSi', 'ZhangSan'}

4、交差补集
#统计只报名一个班的同学
print(english_c ^ math_c)
#输出为:{'LiuDeHua', 'ZhangSan', 'WangWu', 'LiSi'}

学习引导:

  • 数据类型-集合

    • 创建

    • 增删

    • 循环

    • 关系运算

数据类型-集合

特点:

  • 里面的元素不可变,不能在集合中存放列表或字典,而字符串、元组、数字等不可变类型可以存放

  • 天生去重,在集合中无法存放相同的元素

  • 无序。不能像列表一样通过索引来标记其元素在列表中的位置,例如{1,2,3}和{2,1,3}是同一个集合。

集合的创建
#集合的创建
s={1,2,3,'32','data','文字','d','f'}
s
#{1, 2, 3, '32', 'd', 'data', 'f', '文字'}
type(s)  #查看类型
#set
列表转集合
#列表转集合
l=[1,2,3,'df','ffd']
l
#[1, 2, 3, 'df', 'ffd']
set(l)
#{1, 2, 3, 'df', 'ffd'}
集合的新增 add
#新增
s.add('科学')
s
#{1, 2, 3, '32', 'd', 'data', 'f', '文字', '科学'}
集合的删除 discard/remove/pop

法一

#删除
s.discard('32')
s
#{1, 2, 3, 'd', 'data', 'f', '文字', '科学'}

s.remove(2)
s
#{1, 3, 'd', 'data', 'f', '文字', '科学'}

法三

s.pop()
#1
s
#{3, 'd', 'data', 'f', '文字', '科学'}
集合的循环
#循环
for i in s:
    print(i)
'''
3
科学
文字
data
d
f
'''
集合的关系运算
#集合的关系运算
s={1,2,3,'32','data','文字','d','f'}
s2={'science','学长','学员','e','f',3,2,6,7}

交集

s&s2
#{2, 3, 'f'}

并集

#并集
s | s2
#{1, 2, 3, '32', 6, 7, 'd', 'data', 'e', 'f', 'science', '学员', '学长', '文字'}

差集

#差集
s-s2
#{1, '32', 'd', 'data', '文字'}

对称差集

#对称差集
s ^ s2
#{1, '32', 6, 7, 'd', 'data', 'e', 'science', '学员', '学长', '文字'}

判断两个集合是否包含相同的元素,不包含返回true,包含返回false

s.isdisjoint(s2)
#False
s.isdisjoint({123})
#True

子集

#是否为子集的判断
s.issubset(s2)
#False
{1,2,3}.issubset({1,2,3,4,5})
#True
小作业

1.以下代码输出结果是:

s = {1,2,3}
print(s[1])

A. 1

B. 2

C. 无法输出

2.集合的特性有哪些?

好文章,我在看❤

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值