菜孔孔学python--集合

今天是菜孔孔在学校隔离的第十天了,听说再过几天我们就要解封啦,我要去吃火锅粉、椒麻鸡丝拌面、薯片、辣条、炸鸡啊啊啊。

好啦,现在开始学习喽~

定义:由一系列不重复不可变类型变量(元组/数字/字符串)组成的可变 散列容器。

其实就相当于只有键没有值的字典(键则是集合的数据)。

关于集合的基本用法

创建

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. 定义数据结构,存储以上信息.

  2. 是经理也是技术的都有谁?

  3. 是经理不是技术的都有谁?

  4. 不是经理是技术的都有谁?

  5. 身兼一职的都有谁?

  6. 公司总共有多少人数?

#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 条件}

关于集合的基础知识差不多就是这些啦,菜孔孔要去巩固一下啦,我们下次再见,冲冲 冲 冲冲

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值