集合具有无序性,互异性

一.集合的建立

空集合

s=set()
s={}#这样默认为是一个空字典

集合内的元素是可哈希的即不可变的数据类型

s={1,2,3,4}
s=set([1,2,3,4])
s=set('python')
print(s)#{'h', 'y', 't', 'n', 'p', 'o'}

二.添加元素

s=set([1,2,3,4])
s.add(5)
print(s)#{1,2,3,4,5}

update可以添加多个元素

s.update([5,6])
print(s)#{1, 2, 3, 4, 5, 6}
s.update([7,8],{9,10})
print(s)#{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

三.删除元素

discard和remove都可以表示删除一个元素,但若集合中没有该元素,则使用remove会报错,discard不会

s={1,2,3,4}
s.remove(1)
print(s)#{2, 3, 4}
s.discard(2)
print(s)#{3, 4}
s.discard(5)
s.remove(5)#这句会报错

pop

s={1,2,3,4}
a=s.pop()#随机删除一个元素并将其作为返回值
print(a)

clear

s.clear()#清空集合
print(s)#set()空集合

四.不可变集合frozenset

s=frozenset(1,2,3,4)#不能进行增加或删除等操作

五.集合之间的关系

s1=set([1,2,3,4,5])
s2=set([4,5,6,7,8])

交集

s3=s1&s2
print(s3)#{4,5}
s3=s1.intersection(s2)
print(s3)#{4,5}

并集

s3=s1|s2
print(s3)#{1, 2, 3, 4, 5, 6, 7, 8}
s3=s1.union(s2)
print(s3)#{1, 2, 3, 4, 5, 6, 7, 8}

差集

#属于s1但不属于s2
s3=s1-s2
print(s3)#{1, 2, 3}
s3=s1.difference(s2)
print(s3)#{1, 2, 3}

对称差

#除去s1和s2中相同的元素
s3=s1^s2
print(s3)#{1, 2, 3, 6, 7, 8}
s3=s1.symmetric_difference(s2)
print(s3)#{1, 2, 3, 6, 7, 8}

子集

s1={1,2,3,4}
s2={3,4,5,6}
s3={2,3,4}
print(s2<s1)#False
print(s3<s1)#True
print(s3.issubset(s1))#True

超集

s1={1,2,3,4}
s2={3,4,5,6}
s3={2,3,4}
print(s1>s2)#False
print(s1>s3)#True
print(s1.issuperset(s3))#True

  

python基础学习10----集合的更多相关文章

  1. python基础学习10

    python基础学习 内容概要 文件内光标的移动 文件数据修改 函数简介 函数语法结构 内容详情 文件内光标的移动 with open(r'路径','r',encoding='utf8') as f: ...

  2. python基础学习1-SET 集合

    # -*- coding:utf-8 -*- set集合 无序不重复的序列 se = {"a","b","c"} #创建SET集合 prin ...

  3. Python基础学习之集合

    集合是一个无序.不重复的数据集合,它的主要作用如下: 去重:把一个列表变成集合,就可以去除重复的内容 关系测试:测试两组数据之间的交集.并集.差集等关系 集合常用的操作: #创建一个数值集合 s=se ...

  4. python基础学习之集合set

    .集合:set 特点:无序,不可重复(自动去重),可更改,可以与元组.列表互相转换 格式:s = {'x','y','z'} 转换:(转回用set) s = {'x','y','z'}        ...

  5. Python基础学习五

    Python基础学习五 迭代 for x in 变量: 其中变量可以是字符串.列表.字典.集合. 当迭代字典时,通过字典的内置函数value()可以迭代出值:通过字典的内置函数items()可以迭代出 ...

  6. python基础学习7

    python基础学习7 内容概要 字符串的内置方法 字符串的内置方法(补充) 列表的内置方法 可变类型与不可变类型 队列与堆栈 内容详情 字符串的内置方法 # 1.strip 移除字符串首尾的指定字符 ...

  7. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  8. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  9. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  10. Python 基础学习 总结篇

    Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...

随机推荐

  1. 前端模块化之CommonJS,ES6,AMD,CMD

    最近在搞跨平台解决方案,讨论关于模块划分的问题以及如何尽量多的复用逻辑代码.于是就有了此文章,之前的博客也写过,不过由于主机商跑路,宝贵的资源也就没了,说多了都是泪~ 这里按模块化发展的历史回溯的时间 ...

  2. 【K8S学习笔记】Part2:获取K8S集群中运行的所有容器镜像

    本文将介绍如何使用kubectl列举K8S集群中运行的Pod内的容器镜像. 注意:本文针对K8S的版本号为v1.9,其他版本可能会有少许不同. 0x00 准备工作 需要有一个K8S集群,并且配置好了k ...

  3. Centos7 安装字体库&中文字体

    1.概述 在安装一些服务的时候,会涉及到字符编码与字体的问题,字符编码一般在数据库或代码级别设置,字体一般是在系统级别设置.如安装使用jira或confluence的时候,使用一些宏的时候经常会出现乱 ...

  4. Solr 配置中文分词器 IK

    1. 下载或者编译 IK 分词器的 jar 包文件,然后放入 ...\apache-tomcat-8.5.16\webapps\solr\WEB-INF\lib\ 这个 lib 文件目录下: IK 分 ...

  5. 下载imagenet2012数据集,以及label说明

    updated@2018-12-07 15:22:08 官方下载地址:http://www.image-net.org/challenges/LSVRC/2012/nonpub-downloads , ...

  6. stack堆栈容器、queue队列容器和priority_queue优先队列容器(常用的方法对比与总结)

    stack堆栈是一个后进先出的线性表,插入和删除元素都在表的一端进行. stack堆栈的使用方法: 采用push()方法将元素入栈: 采用pop()方法将元素出栈: 采用top()方法访问栈顶元素: ...

  7. java中变量使用的总结

    java中整数默认为int,小数默认为double. float n5=1.3; 这个句子就会报错,应该修改成这样float n5=1.3f; 八大基本类型 变量类型 位数 范围 备注 Byte 8位 ...

  8. C# 在webapi项目中配置Swagger(最新版2017)

    这篇文章已经过时了: http://www.cnblogs.com/alunchen/p/6888002.html 不用那么繁琐的配置了,直接导入一个包就行了: Install-Package Swa ...

  9. Repeater控件添加onmouseover和onmouseout事件

    网友有问题,在Repeater控件中,需要添加onmouseover和onmouseout事件功能.Insus.NET有叫他参考<onmouseover和onmouseout在Repeater控 ...

  10. Redis-发布与订阅

    发布与订阅(pub/sub)的特点是订阅者负责订阅频道发送者负责向频道发送二进制字符串消息.每当有消息发送至给定频道时,频道的所有订阅者都会收到消息 (发布和订阅命令) SUBSCRIBE : SUB ...