0. 集合的作用及特点

  集合具有去重和关系测试两大作用,它具有无序的特点。

list1 = [1,2,3,4,5,7,6,8,6,4]
list1 = set(list1)
print(list1)
>>>:{1, 2, 3, 4, 5, 6, 7, 8}

1, 几何关系

(1)取交集

取交集有两种方法,一种是直接采用函数,一种使用运算符

list2 = set([2,6,8,9,0])

list1.intersection(list2)  或者 list1 & list2

 list1 = [1,2,3,4,5,7,6,8,6,4]
list1 = set(list1)
list2 = [2,3,4,8,9,0]
list2 = set(list2)
#取交集
print(list1.intersection(list2))
print(list1 & list2)
list1 = [1,2,3,4,5,7,6,8,6,4]
list1 = set(list1)
list2 = [2,3,4,8,9,0]
list2 = set(list2)
#取交集
print(list1.intersection(list2))
print(list1 & list2)
>>>:{8, 2, 3, 4}
>>>:{8, 2, 3, 4}

(2) 取并集

list1.union(list2)   或   list1 | list2

#取并集
print(list1.union(list2))
print(list1 | list2)
>>>:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
>>>:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

(3) 求差集

list1.difference(list2)  #in list1 but not in list2

#差集
print(list1.difference(list2))#in list1 but not in list2
print(list2.difference(list1))#in list2 but not in list1
>>>:{1, 5, 6, 7}
>>>:{0, 9}

(4)子集:主要是判断list1是否为list2的子集

list1.issubset(list2) #是,则输出True;不是,则输出False

print(list1.issubset(list2))#判断list1是否为list2的子集
>>>:False

(5)父集

list1.issuperset(list2)

print(list1.issuperset(list2))
>>>:False
list3 =set([1,3,7])

print(list1.issuperset(list3))

>>>:True

(6)对称差集

list1.symmetric_difference(list2)  或 list1 ^ list2

print(list1.symmetric_difference(list2))
print(list1^list2)
>>>:{0, 1, 5, 6, 7, 9}
>>>:{0, 1, 5, 6, 7, 9}

2. 基本操作:增删改查

list1.add(30)  #添加一项

list1.update([33,56,77,90]) #添加多项

list1.remove('dd')  #删除一项,如果集合中不存在该元素,则会报错

list.pop()  #删除任意一个元素

list.discard('dd')  #如果集合中不存在该元素,则返回None

  

day5:python学习之集合的更多相关文章

  1. Python学习五|集合、布尔、字符串的一些特点

    #集合本身就像无值的字典 list1 = set([1,2,3,4]) list2 = {1,2,3,4} print('list1 == list2?:',list1==list2)#list1 = ...

  2. 第五周 day5 python学习笔记

    1.软件开发的常规目录结构 更加详细信息参考博客:http://www.cnblogs.com/alex3714/articles/5765046.html         2.python中的模块 ...

  3. Python学习之==>集合

    1.简介 集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复数据的. 2.集合的作用 它可以把一个列表中重复的数据去掉,而不需要你再写判断 可以做关系测试,比 ...

  4. Python学习笔记——集合类型

    集合类型有两种不同的类型——可变集合(set)和不可变集合(frozenset) 可变集合不是可哈希的,不能用作字典的键,也不能用做其他集合中的元素 不可变集合是有哈希值的,能被用做字典的键或者是作为 ...

  5. python学习之集合

    集合(set)是一个无序的不重复元素序列. 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典. 创建格 ...

  6. Python学习——set集合的补充

    set 是一个无序且不重复的元素集合>>> num = {1,2,3,4,5} 1.add()添加一个元素 >>> num.add(6) >>> ...

  7. Python学习 :集合

    集合 Set 集合的创建 集合的创建只有一种方式 集合中的元素必须是不可变的数据类型 集合是无序的,可以通过 for 循环来遍历或者迭代器进行筛选 s=set('xiaoming') s1=['ale ...

  8. python学习-21 集合 2

    集合的其他方法 1.交差补集 math = {'xm','xh','xg','xx'} english ={'xm','xh','dm','john'} print(math.symmetric_di ...

  9. python学习-20 集合

    集合set 1.由不同元素组成的集合,集合是一组无序排列的,集合中的元素必须是不可变的 -定义集合 第一种: jh = {1,2,3,4} print(type(jh),jh) 运行结果: <c ...

随机推荐

  1. dedecms实例化对象

    1.建表 2.创建实体类 4.tc文件加载该实体类 5.用的时候,引入tc.php文件,并实例化

  2. msdn 硬盘

    https://msdn.microsoft.com/library/windows/hardware/ff566204 Returns the ATA-2 identify data, the Se ...

  3. Gym 100792C Colder-Hotter (三分)

    题意:系统有一个点对,让你去猜,每次你猜一个,如果这个数和系统里的那个点距离比上一个你猜的近,那么返回1,否则返回0,第一次猜一定返回0,在不超过500次的情况下,猜出正确答案. 析:是一个简单的三分 ...

  4. Xcode6制作动态及静态Framework[repost]

    有没有写SDK或者要将一些常用的工具类做成Framework的经历? 你或许自己写脚本完成了这项工作,相信也有很多的人使用 iOS-Universal-Framework ,随着xCode6的发布,相 ...

  5. javascript 区分对象类型

    在 JavaScript 里使用 typeof 来判断数据类型,只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种.对于数组. ...

  6. Tomcat项目部署问题记录

    Tomcat项目部署问题记录 1. -bash: ./startup.sh: Permission denied 问题: 新装tomcat后,执行启动命令会出现 -bash: ./startup.sh ...

  7. Android通过xml生成创建View的过程解析

    Android的布局方式有两种,一种是通过xml布局,一种是通过java代码布局,两种布局方式各有各的好处,当然也可以相互混合使用.很多人都习惯用xml布局,那xml布局是如何转换成view的呢?本文 ...

  8. Computer

    Computer 1. Ctrl+N .根据惯例,“Control”.“Shift” 以及 “Alternate” 按键将以 Ctrl.Shift 以及 Alt 来表示,需要特别指出的是,其中第一个按 ...

  9. [label][Chrome-Extension] How to start Chrome Extension's development

    Firstly , you should read these two pages.  https://developer.chrome.com/extensions/overview https:/ ...

  10. Android-bindService本地服务-音乐播放(后台播放)-下

    在上一篇  Android-bindService本地服务-音乐播放-上,博客中是不能在后台中播放到,这次博客增加了一个后台播放 通常情况下,Activity切换到后台,Service提升到前台进程, ...