今天是菜孔孔在学校隔离的第十天了,听说再过几天我们就要解封啦,我要去吃火锅粉、椒麻鸡丝拌面、薯片、辣条、炸鸡啊啊啊。
好啦,现在开始学习喽~
定义:由一系列不重复的不可变类型变量(元组/数字/字符串)组成的可变 散列容器。
其实就相当于只有键没有值的字典(键则是集合的数据)。
关于集合的基本用法
创建
set01 = {'泡芙老师','痞老板','小蜗'} #创建一个简单集合
list01 = ['海绵宝宝','章鱼哥','蟹老板','派大星']
set02 = set(list01) #列表转化为集合
print(set02)
添加
set02.add('珊迪')
print(set02)
遍历
for item in set01:
print(item)
删除
if '痞老板' in set01:
set01.discard('痞老板') #discard()函数是用来删除函数的
print(set01)
关于集合的运算
(1) 交集&:返回共同元素。
s1 = {1,2,3}
s2 = {2,3,4}
s3 = s1 & s2
print(s3) #返回值{2,3}
(2) 并集|:返回所有元素
s1 = {1,2,3}
s2 = {2,3,4}
s3 = s1 | s2
print(s3) #返回值{1,2,3,4}
(3) 补集 -:返回只属于前者集合的独有元素
s1 = {1,2,3}
s2 = {2,3,4}
s1 - s2
print(s1 - s2) #返回值{1}
(4) 补集 ^:返回两个集合不同的的元素
s1 = {1,2,3}
s2 = {2,3,4}
s3 = s1 ^ s2
print(s3) #返回值{1,4}
(5) 子集<:判断一个集合的所有元素是否完全在另一个集合中
(6) 超集>:判断一个集合是否具有另一个集合的所有元素
s1 = {1,2,3}
s2 = {2,3}
s2 < s1
s1 > s2
print(s2 < s1) #返回值True
print(s1 > s2) #返回值True
(7) 相同或不同 == !=:判断集合中的所有元素是否和另一个集合相同。
s1 = {1,2,3}
s2 = {3,2,1}
s1 == s2
s1 != s2
print(s1 == s2) #返回值True
print(s1 != s2) #返回值True
我们来练习一下关于运算的题目叭
一家公司有如下岗位:
"经理":"曹操","刘备","孙权"
"技术" :"曹操","刘备","张飞","关羽"
-
定义数据结构,存储以上信息.
-
是经理也是技术的都有谁?
-
是经理不是技术的都有谁?
-
不是经理是技术的都有谁?
-
身兼一职的都有谁?
-
公司总共有多少人数?
#1
dict_employees = {
'经理':{"曹操","刘备","孙权"},
'技术':{"曹操","刘备","张飞","关羽"}
}
#2
print("是经理也是技术:", dict_employees['经理'] & dict_employees['技术'])
#3
print("是经理不是技术:", dict_employees['经理'] - dict_employees['技术'])
#4
print("是技术不是经理:", dict_employees['技术'] - dict_employees['经理'])
#5
print("身兼一职:", dict_employees['技术'] ^ dict_employees['经理'])
#6
print("公司总人数:", len(dict_employees['技术'] | dict_employees['经理']))
集合推导式
(1) 定义:
-
使用简易方法,将可迭代对象转换为集合。
(2) 语法:
-
{表达式 for 变量 in 可迭代对象}
-
{表达式 for 变量 in 可迭代对象 if 条件}
关于集合的基础知识差不多就是这些啦,菜孔孔要去巩固一下啦,我们下次再见,冲冲 冲 冲冲