Day7.数据类型-集合
时间:2022-07-24
本文章向大家介绍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.intersection(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.集合的特性有哪些?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- angular浏览器兼容性问题解决方案
- Python 基础(二十二):正则表达式
- Python 进阶(一):多线程
- Python 进阶(二):多进程
- MySQL information_schema详解 EVENTS
- Python 进阶(三):邮件的发送与收取
- MySQL information_schema详解 FILES
- MySQL information_schema详解 GLOBAL_STATUS和SESSION_STATUS
- Python 进阶(四):数据库操作之 MySQL
- Python 进阶(五):数据库操作之 SQLite
- Python 进阶(六): Excel 基本操作
- 基于Rust-vmm实现Kubernetes运行时
- 云开发如何为腾讯游戏年度发布会保驾护航?
- 跨端方案的三大困境
- Python 进阶(七): Word 基本操作