目录

前言

集合是无序的,不可访问的,不可重复的元素的集合。用{}来标志的数据类型。

(一)基本概念

==1.1有序于无序==

有序与否的定义是:是否能够通过下标序列来访问元素。

例如:列表 list[2], string[0] ,tuple[0]等,是有序的。

而:集合是不可以通过下标来访问的,则是无序的。

==1.2是否随机访问==

能否访问某个元素。

==1.3重复性==

Python集合和数学里的集合类似,集合是互异的,即不可重复。

==1.4可变与不可变的集合==

可不可变的集合判断依据是:能否对其进行增删改。

(1)可变集合

创建有两种方式

  1. 直接用{},例如:s = {1, 2, 3}
  2. 使用set()方法,例如:s=set(iterable) , iterable可迭代对象。

(2)不可变集合

创建方式只有一种:

frozeset(iterabel), froze--冻结

(3)集合的注意事项

空集合:使用 s = set()来创建,而不是用 s = {}

集合的元素要求:必须是不可变的类型。

(二)集合的增删改查

下面都是对于可变集合的操作。

==2.1集合的增加==

s.add(var) 方法

==2.2集合的删除==

2.2.1remove()方法

remove()方法是根据某个元素来删除某个元素。当没有该元素时会报错。

2.2.2discard()方法

与remove()方法操作和功能一样,唯一的区别是当没有该元素时,不做任何操作。

2.2.3pop()方法

pop()方法是从前面删除元素。并返回删除的元素。

2.2.4clear()方法

clear()方法是清空集合。

==2.3集合的修改==

集合是不可变的,即不可更改。

==2.4集合的查看==

使用:for in s: 进行遍历查看。

==2.5不可变集合的查看==

同样是用for i fs: 进行查看。

(三)集合的运算

==3.1集合的交集==

s1.intersection(s2) 或者 "&"

==3.2集合的并集==

s1.union(s2) 或者 "|"

==3.3集合的差集==

s1.defference(s2) 或者 "-"

==3.4集合的判断==

(1)判断是否相交

s1.isdisjoint(s2)

(2)判断是否包含

s1.issuperset(s2)

(3)判断是否包含于

s1.issubset(s2)

作者:Mark

日期:2019/02/01 周五

4.93Python数据类型之(8)集合的更多相关文章

  1. python之数据类型补充、集合、深浅copy

    一.内容回顾 代码块: 一个函数,一个模块,一个类,一个文件,交互模式下,每一行就是一个代码块. is == id id()查询对象的内存地址 == 比较的是两边的数值. is 比较的是两边的内存地址 ...

  2. python基础之数据类型操作补充,集合及其操作,深浅拷贝

    内容概要: 数据类型操作补充 集合及其操作 深浅拷贝1.基础数据类型补充 1.1字符串的操作补充li = ["李嘉诚", "麻花藤", "黄海峰&qu ...

  3. Day054--MySQL, 创建用户和授权, 数据类型, 枚举和集合, 约束,唯一, 主键,外键

    创建用户和授权 1.创建用户: # 指定ip:192.118.1.1的mjj用户登录 create user 'mjj'@'192.118.1.1' identified by '123'; # 指定 ...

  4. day8数据类型补充,集合,深浅拷贝

    思维导图: 集合的补充:下面的思维导图有一个点搞错了,在这里纠正一下,没有合集,是反交集,^这个是反差集的意思 . 交集&,反交集^,差集-,并集|,然后就是子集和超集 数据类型补充: ''' ...

  5. [Day6]引用数据类型、ArrayList 集合

    1.类的定义与使用 (1)类的定义格式 创建java文件,与类名相同 public class 类名{ 数据类型  属性名称1: 数据类型  属性名称2: … } (2)使用格式 导包:我们将所有的类 ...

  6. Python基础学习Day7 基础数据类型的扩展 集合 深浅copy

    一.基础数据类型的扩展 1.1GBK ---> UTF - 8 # str --->bytes s1 = '太白' # 字符串是unicode编码 b1 = s1.encode('gbk' ...

  7. 基本数据类型补充 set集合 深浅拷贝

    一.基本数据类型补充 1,关于int和str在之前的学习中已经介绍了80%以上了,现在再补充一个字符串的基本操作: li = ['李嘉诚','何炅','海峰','刘嘉玲'] s = "_&q ...

  8. Python之路-基础数据类型之字典 集合

    字典的定义-dict 字典(dict)是python中唯⼀的⼀个映射类型.他是以{ }括起来的键值对组成,字典是无序的,key是不可修改的.dic = {1:'好',2:'美',3:'啊'} 字典的操 ...

  9. python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝

    1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"] s = "_&qu ...

随机推荐

  1. mysql使其支持插入中文数据的办法

    1.找到安装的文件夹C:\Program Files (x86)\MySQL\MySQL Server 5.0 2.修改文件夹下的my.ini文件: 找到画黄线的这一字段 将后面改为utf8 这个过程 ...

  2. 关于dao层的封装和前端分页的结合(文章有点长,耐心点哦)

    任何一个封装讲究的是,实用,多状态.Action:     任何一个Action继承分页有关参数类PageManage,自然考虑的到分页效果,我们必须定义下几个分页的参数.并根据这个参数进行查值. 然 ...

  3. PHP-CPP开发扩展(三)

    PHP-CPP是一个用于开发PHP扩展的C++库.本节讲解PHP函数形参相关的实现. 指定函数参数类型 有时候,我们需要指定函数的形参是数组或者指定的,那么在PHP-CPP里是否可以指定函数的参数类型 ...

  4. 自己动手实现java数据结构(五)哈希表

    1.哈希表介绍 前面我们已经介绍了许多类型的数据结构.在想要查询容器内特定元素时,有序向量使得我们能使用二分查找法进行精确的查询((O(logN)对数复杂度,很高效). 可人类总是不知满足,依然在寻求 ...

  5. 自己动手实现java数据结构(四)双端队列

    1.双端队列介绍 在介绍双端队列之前,我们需要先介绍队列的概念.和栈相对应,在许多算法设计中,需要一种"先进先出(First Input First Output)"的数据结构,因 ...

  6. 简单的端口扫描器(TCP connect)

    端口扫描器原理相对简单,采用的是TCP connect状态判断.具体来说:TCP connect方式使用系统网络API connect向目标主机的端口发起连接,如果无法连接,说明该端口关闭.该方式扫描 ...

  7. PHP官方网站及PHP手册

    每个人都知道php.net,我们或早或晚的都会来到这里并不断的访问它.它是PHPer的主要参考网站,拥有大量有用的信息,但是这些信息却不是那么显而易见. 比较有用的官方PHP资源: PHP官方函数手册 ...

  8. 鸟哥的Linux私房菜:基础学习篇 —— 第五章笔记

    1.Linux一般将文件可存取的身份分为三个类 别,分别是 owner/group/others,且三种身份各有 read/write/execute 等权限.其中 root 的权限最高. 2.在我们 ...

  9. [PHP] 算法-复制复杂链表的PHP实现

    复杂链表的复制: 1.在旧链表中每个结点的后面复制出一个结点,隔代 2.把旧链表的随机指向部分,复制到新添加的结点上 3.把新结点从旧链表中拆分出来成新链表 1. linklist=head whil ...

  10. 做webApp遇到的一些坑及解决方案

    1.问题:手机端click事件会有大约300ms的延迟 原因:手机端事件touchstart-->touchmove-->touchend or touchcancel-->clic ...