2017.12.21-集合

本文通过集合运算展示了如何处理Python和Linux课程学员名单的数据。包括求解共同报名两门课程的学员、仅报名一门课程的学员及未同时报名两门课程的学员名单。
# python=['wang','a',123,'xin']
# linux=['b',111,'wang',123]
# python_linux=[]
# for student in python:
# # print(student)
# if student in linux:
# python_linux.append(student)
# print(python_linux)
#主要做关系运算(交集,并集),去重复元素
# 定义集合 无序
# {}内用逗号分隔,每个元素必须是不可变类型(int,float,str,tuple),元素不能重复,自动去重,元素可以作为字典key
# a={1,'s',['aa'],(1,'a')} #TypeError: unhashable type: 'list' list为可变类型
# a={1,'s',(1,'a')}
# print(a,type(a)) #{'s', 1, (1, 'a')} <class 'set'>
# a={1,3,123,2,1}
# print(a) #{123, 1, 2, 3} 去重
# print(a[0]) #TypeError: 'set' object does not support indexing 没有索引
#有序,能按照索引去值 列表,字典
#无序,没有索引 元组,集合

#优先掌握的操作:
#1、长度len
# a={1,'s',6666,(1,'a'),1}
# print(len(a)) #4 去重复
#2、成员运算in和not in
# print(1 in a)
#3、|合集
# python={'wang','a',123,'xin'}
# linux={'b',111,'wang',123}

# print(python | linux) #{'wang', 111, 'a', 'xin', 'b', 123}
#4、&交集
# print(python & linux) #{123, 'wang'}
#5、-差集 只报名python的学生
# print(python-linux) #{'a', 'xin'}
#6、^对称差集 没有同时报两门课程的学生
# print(python^linux) #{'xin', 'a', 111, 'b'}
# print((python-linux)|(linux-python)) # {'b', 'xin', 'a', 111}
#8、父集:>,>=
# a={1,2,3,4}
# b={1,2,3}
# print(a>=b)
#9、子集:<,<=



# #   一.关系运算
# #   有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
# pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
# linuxs={'wupeiqi','oldboy','gangdan'}
# #   1. 求出即报名python又报名linux课程的学员名字集合
# print(pythons&linuxs)
# #   2. 求出所有报名的学生名字集合
# print(pythons|linuxs)
# #   3. 求出只报名python课程的学员名字
# print(pythons-linuxs)
# #   4. 求出没有同时这两门课程的学员名字集合
# print(pythons^linuxs)
# pythons.a
# linuxs={'wupeiqi','oldboy','gangdan'}
# print(linuxs[0:2])

转载于:https://www.cnblogs.com/wangzeyu0224/p/8080520.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值