集合set


  Python的set集合是一个无序不重复元素集。基本功能包括关系测试和消除重复元素。集合对象还支持union(并集)、intersection(交集)、difference(差集) 和 sysmmetric differencr(对称差集)等数学运算。

  set 支持 x in set, len(set), for x in set。作为无序集合,set不记录元素的下标。

事例:

一、集合操作

1.创建集合

set1 = set('bestberg')
print(set1) #输出
{'b', 'g', 'e', 't', 'r', 's'} # b 去重了

  

2.集合添加 add将要传入的元素作为一个整体添加到集合中

 a = set('lion')
a.add('rabbit')
print(a)

3.集合添加 update 将要传入的元素拆分,作为个体插入到集合中

 b = set('lion')
b.update('rabbit')
print(b)

4.集合删除 remove

 a = set('lion')
a.add('rabbit')
print(a) a.remove('rabbit')
print(a)

# pop()
>>> set1
{1, 2, 3, 4, 5}
>>> set1.pop()
1
# set1
>>> set1
{2, 3, 4, 5} # discard >>> set1.discard(3)
>>> set1
{2, 4, 5}
>>> set1.discard(1)
>>> set1
{2, 4, 5} # discard在删除不存在的元素时,不会报错

  

二、集合关系

1.并集(去重)

 a = {1,2,3,4,33,66}
b = {3,4,5,6,33} print(a.union(b)) # print(a | b) {33, 2, 66, 3, 4, 1, 5, 6} #相同部分只保留一份

2.交集

 a = {1,2,3,4,33,66}
b = {3,4,5,6,33} print(a.intersection(b))
print(a & b)

{33, 3, 4}
{33, 3, 4}

3.差集

 a = {1,2,3,4,33,66}
b = {3,4,5,6,33} print(a.difference(b))
print(b.difference(a)) # print(b - a)

{1, 2, 66}
{5, 6}

4.相对补集

 a = {1,2,3,4,33,66}
b = {3,4,5,6,33} print(a.symmetric_difference(b)) #去掉相同的元素
print(b.symmetric_difference(a))

{1, 2, 5, 6, 66}
{2, 66, 5, 1, 6}

5.子集 和 父集

 a = {1,2,3,4,33,66}
b = {3,4,5,6,33} print(a.issubset(b)) # 子集
print(b.issuperset(a)) # 父集

False
False

python基础7--集合的更多相关文章

  1. python基础数据类型--集合(set)

    python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...

  2. Python基础(三)——集合、有序 无序列表、函数、文件操作

    1.Set集合 class set(object): """ set() -> new empty set object set(iterable) -> n ...

  3. python 基础 set 集合类型补充

    为啥今天又重提这个数据类型呢?平时用的少,等要用起来的时候才发现,自己对这块啥都不知道了,so,今天就把这块再梳理一下咯. 一.set集合,是一个无序且不重复的元素集合.这一点是非常重要的. 二.集合 ...

  4. python基础08_set集合

    关于前几次课的回顾: #!/usr/bin/env python # coding:utf-8 ## 字符串 数字 列表 元组 字典 ## 可变:列表 字典 ## 不可变:字符串, 数字, 元组 na ...

  5. python基础七--集合

    12.221.昨日内容回顾 小数据池: int:-5--256 str:1.不能有特殊字符 2.*int不能超过20 编码:所能看到的最小构成单位叫字符 ascii : 8位 1字节 表示1个字符 u ...

  6. Python基础入门-集合

    今天给大家分享的是python中集合(set)的概念,集合这个词其实和高中学的数学集合的概念很相近,或者作为初学者你就可以把它理解为数学当中的集合.在python中集合(set)是由一个个键组成的,但 ...

  7. python基础——数字&集合&布尔类型

    Python的核心数据类型 内置对象 对象类型 例子 数字 123,3.1415,3+4j,Decimal(小数),Fraction(分数) 字符串 'dodo',"guido's" ...

  8. Python基础-set集合操作

    set集合,是一个无序且不重复的元素集合.定义方式类似字典使用{}创建 目前我们学过的数据类型: 1.字符串(str),2.整型(int),3.浮点型(float),4,列表(list) 5.元组(t ...

  9. Python基础-week03 集合 , 文件操作 和 函数详解

    一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...

  10. Python基础操作-集合

    在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法 ...

随机推荐

  1. 微软职位内部推荐-Senior Software Lead-Index Gen

    微软近期Open的职位: Position: Senior Software Development Lead Bing Index Generation team is hiring! As one ...

  2. Vue工作原理小结

    本文能帮你做什么?1.了解vue的双向数据绑定原理以及核心代码模块2.缓解好奇心的同时了解如何实现双向绑定为了便于说明原理与实现,本文相关代码主要摘自vue源码, 并进行了简化改造,相对较简陋,并未考 ...

  3. Linux下使用vim编辑C程序

    这几天在系统能力班自学linux,加上最近大数据课上开始使用linux,我在这里总结一下,linux下使用vim编辑c程序的一些问题. 大数据课上是直接使用micro来编辑的,我这里只是简单的说明一下 ...

  4. Scrum立会报告+燃尽图(十月二十一日总第十二次)

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2246 项目地址:https://git.coding.net/zhang ...

  5. 王者荣耀交流协会--第2次Scrum会议

    Scrum master:袁玥 要求1:工作照片 要求2:时间跨度:2017年10月14号  6:02--6:43  共计41min 要求3:地点:一食堂二楼两张桌子旁(靠近卖方便面那边) 要求4:立 ...

  6. URL相关Web APIs

    参考文档:MDN> Web API接口 > URLUtils MDN > Web API接口 > URL MDN > Web API接口 > Location MD ...

  7. 转 maven3常用命令、java项目搭建、web项目搭建详细图解

    转自地址:http://blog.csdn.net/edward0830ly/article/details/8748986 ------------------------------maven3常 ...

  8. MVC 中创建自己的异常处理

    1.新建类一个类继承 HandleErrorAttribute 类把异常书写到队列中 public class MyExceptionAttribute: HandleErrorAttribute { ...

  9. HDU4675_GCD of Sequence

    很有意思的一个数论题. 是这样的,给你一个数数组a[i],其中给出的每一个数字和要求的数字方位都是[1,m],现在问你根据a[]构造一个b[],且a和b中间的不相等的元素的个数恰好有k个. 现在问你g ...

  10. floyd最短路

    floyd可以在O(n^3)的时间复杂度,O(n^2)的空间复杂度下求解正权图中任意两点间的最短路长度. 本质是动态规划. 定义f[k][i][j]表示从i出发,途中只允许经过编号小于等于k的点时的最 ...