博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
集合set
阅读量:4946 次
发布时间:2019-06-11

本文共 2173 字,大约阅读时间需要 7 分钟。

一、集合的作用

   知识点回顾:可变类型是不可hash类型,不可变类型是可hash类型

    作用:去重,关系运算

    定义:可以包含多个元素,用逗号分割,集合的元素遵循三个原则:

      1.每个元素必须是不可变类型(可hash,可作为字典的key)

      2.没有重复的元素

      3.无序

    注意集合的目的是将不同的值存放在一起,不同的集合间用来做关系运算,无需纠结集合中的单个值

二、常用方法

 

    in 和 not in

    |并集(print(pythons.union(linuxs)))

    &交集(print(pythons.intersection(linuxs)))

    -差集(print(pythons.difference(linuxs)))

    ^对称差集(print(pythons.symmetric_difference(linuxs)))

    ==

    >,>= ,<,<= 父集(issuperset),子集(issuberset)

 

>,>=,<,<= set1={1,2,3,4,5}set2={1,2,3,4}print(set1 >= set2)print(set1.issuperset(set2))   set1={1,2,3,4,5}set2={1,2,3}print(set1<=set2)print(set1.issubset(set2))

 

三、练习

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

  四、方法

# ========掌握部分=======linuxs={'six','wu','dabao'}linuxs.add('xiaoxiao')#说明set类型的集合是可变类型linuxs.add([1,2,3])#报错,只能添加不可变类型print(linuxs) # 2.linuxs={'six','wu','dabao'}  res=linuxs.pop() #不用指定参数,随机删除,并且会有返回值print(res)# 3.res=linuxs.remove('wupeiqi')#指定元素删除,元素不存在则报错,单纯的删除,没有返回值,print(res)# 4.res=linuxs.discard('egon1111111111') #指定元素删除,元素不存在不报错,单纯的删除,没有返回值,  # =========了解部分=========linuxs={'wupeiqi','egon','susan','hiayan'}new_set={'xxx','fenxixi'}linuxs.update(new_set)print(linuxs)linuxs.copy()linuxs.clear()   #解压 a,*_={'zzz','sss','xxxx','cccc','vvv','qqq'}print(a)

  

转载于:https://www.cnblogs.com/qiangshenqi/p/9043926.html

你可能感兴趣的文章
Fortran中的指针使用
查看>>
移动终端app测试点总结
查看>>
14-6-27&28自学内容小结
查看>>
JSP
查看>>
---
查看>>
(第一组_GNS3)自反ACl
查看>>
hdu--1258--Sum It Up(Map水过)
查看>>
Spring @DeclareParents 的扩展应用实例
查看>>
VS2012更新Update1后帮助查看器无法打开
查看>>
Android 文件的读取和写入
查看>>
高校表白APP-冲刺第四天
查看>>
outlook 设置163邮箱
查看>>
mysql优化——show processlist命令详解
查看>>
Solr服务器搭建
查看>>
画世界怎么用光影_世界绘画经典教程:水彩光影魔法教程
查看>>
win+rsync+php,跨平台的fswatch+rsync同步备份
查看>>
vue2 cdn 加载html,vue项目中使用CDN加载
查看>>
github.com访问慢解决
查看>>
转:哈夫曼树详解
查看>>
.Net Core Identity外面使用Cookie中间件
查看>>