集合
集合是由花括号括起来的一组数据,特点是“数据不重复”,“无序”,“类型不统一”。
其中数据不重复是它最重要的特点,常常用于“去重”操作,Set(list)方法可以把列表强制转换成集合。 集合的一些操作: 1. 把列表转换为集合 # 强制类型转换
list = [‘abc’ , 58.5, True]
print(set(list)) 2. 取交集 # 两个集合共有的部分
list1 = {1,2,3,4,5,6,9,10}
list2 = {2,3,4,5,6,1}
list3 = {1,2,3}
print(list1.intersection(list2))
print(list1 & list2) 3. 取并集 # 把集合合起来之后去重
print(list1.union(list2))
print(list1 | list2) 4. 取差集 # 两个集合做差,返回被减数去掉减数后的那部分数据
print(list1.difference(list2))
print(list1 - list2) # 取list1有且list2没有的那部分 5. 取对称差集 # 输出两个列表中都没有的值,也就是把两个集合中相同的去掉
print(list1.symmetric_difference(list2))
print(list1 ^ list2) 6.几个判断操作
print(list3.issubset(list1)) # 判断list3是不是list1的子集
print(list1.issuperset(list3)) # 判断list1是不是list3的父集
print(list1.isdisjoint(list3)) # 判断list1和list3是否有交集 7. 其他操作
list1.add(888) # 添加元素,不返回值,原集合list1被改变,简单添加单个数值或字符串
list1.update([777,666,666]) # 添加一个或多个元素,以列表形式添加,列表里不能有布尔值
list1.remove(777) # 删除元素,如果元素不存在会报错
list1.pop() # 删除一个随机的元素,并返回删除的元素
list1.discard('dddd') # 如果删除的元素存在,删除,不存在不做处理 引用一组对集合操作的总结: http://www.jb51.net/article/57214.htm
经典片段: 去重:
>>> lst = [1,2,3,4,1]
>>> print list(set(lst))
[1, 2, 3, 4] 基本操作:
t.add('x')            # 添加一项
s.update([10,37,42])     # 在s中添加多项
t.remove('H')          # 删除一项
len(s)             # set 的长度
x in s              # 测试 x 是否是 s 的成员
x not in s          # 测试 x 是否不是 s 的成员
s.issubset(t)
s <= t              # 测试是否 s 中的每一个元素都在 t 中
s.issuperset(t)
s >= t             # 测试是否 t 中的每一个元素都在 s 中
s.union(t)
s | t              # 返回一个新的 set 包含 s 和 t 中的每一个元素
s.intersection(t)
s & t              # 返回一个新的 set 包含 s 和 t 中的公共元素
s.difference(t)
s - t              # 返回一个新的 set 包含 s 中有但是 t 中没有的元素
s.symmetric_difference(t)
s ^ t              # 返回一个新的 set 包含 s 和 t 中不重复的元素
s.copy()            # 返回 set “s”的一个浅复制

Python学习杂记_9_集合操作的更多相关文章

  1. Python学习笔记-Day3-set集合操作

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

  2. Python学习杂记_3_字符串操作的常用方法

    字符串操作 字符串是可以通过下标来进行取值的,但是由于字符串是不可变变量,不能通过下标来修改它的值(形式如 字符串[下标]),下标从0开始,最大下标值是字符串长度减1,即len(string)-1 P ...

  3. Python学习杂记_7_文件操作

    文件操作 Python3用open()方法打开文件并返回文件句柄,有了文件句柄就可以对文件进行各种操作了. 打开文件: open(“文件名” , 打开方式)            如: f=open( ...

  4. python学习笔记整理——集合 set

    python学习整理笔记--集合 set 集合的用途:成员测试和消除重复的条目,进行集合运算 注意:花括号或set()函数可以用于创建集合. 注意:若要创建一个空的集合你必须使用set(),不能用{} ...

  5. python学习笔记(三):文件操作和集合

    对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个 ...

  6. python学习之-- redis模块操作 集合和有序集合

    redis 模块操作之 集合set和有序集合zset Set 集合操作,不允许重复的列表sadd(name,value):name对应的集合中添加元素scard(name):获取name对应的集合中元 ...

  7. 【Python学习之四】集合类型

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.字符串:字符串实际上就是字符的数组1.切片是指 ...

  8. python学习笔记之文件操作(三)

    这篇博客小波主要介绍一下python对文件的操作 对文件的操作主要分为三步: 1.打开文件获取文件的句柄,句柄也是文件描述符 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件,是小波随写的周杰伦 ...

  9. 【Python学习笔记】集合

    概述 集合的一般操作 内建函数进行标准操作集合 数学运算符进行标准操作集合 集合的应用 概述 python的集合(set)是无序不重复元素集,是一种容器.集合(set)中的元素必须是不可变对象,即可用 ...

随机推荐

  1. tp5 修改自带success或error跳转模板页面

    tp5 修改自带success或error跳转模板页面 我们在使用tp5或者tp3.2的时候,用的成功或者失败跳转提示页面一般是用框架的.在后续开发过程中,根据实际项目需要,也是可以更改的,在此分享一 ...

  2. ZendFramework-2.4 源代码 - 关于配置

    $applicationConfig = $serviceManager->setService('ApplicationConfig'); // 获取配置 /data/www/www.doma ...

  3. JZOJ 3388. 【NOIP2013模拟】绿豆蛙的归宿

    3388. [NOIP2013模拟]绿豆蛙的归宿 (Standard IO) Time Limits: 1000 ms  Memory Limits: 131072 KB  Detailed Limi ...

  4. Girls and Boys-hdu 1068

    Girls and Boys Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  5. poj-3253 fence repair(贪心题)

    题目描述: Farmer John wants to repair a small length of the fence around the pasture. He measures the fe ...

  6. TI C6000 优化进阶:循环最重要!

    软件流水循环 1. C6000流水线(Pipeline) 一个指令的处理过程并不是一步完成,它被分为三个阶段:取指(Fetch).译码(Decode).执行(Excute).将每一个阶段放入独立的流程 ...

  7. Linux命令之---which简单介绍

    命令简介 which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果.也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的 ...

  8. Java文件 ---流

    分类 根据数据走向,分为输入流.输出流 根据处理的数据类型,分为字节流.字符流 字节流 可以处理所有类型的数据,如MP3.图片.文字.视频等.在读取时,读到一个字节就返回一个字节. 在Java中对应的 ...

  9. STL学习笔记3--deque

    看这一节,是为了下一节的使用,在ogre3d里有些操作要使用到deque. C++ Deque(双向队列) 的使用 Deque结合了vector  和list  优缺点,是一种使用简单的容器. deq ...

  10. 项目实战:CRM客户关系管理系统开发

    21-CRM第一节内容概要 21.1 Stark组件介绍:实现基本的增删改查+自定义复杂操作: 21.2 单例模式:最简单的单例模式: 21.3 路由系统(分发): 21.4 制作启动文件-Djang ...