集合
集合是由花括号括起来的一组数据,特点是“数据不重复”,“无序”,“类型不统一”。
其中数据不重复是它最重要的特点,常常用于“去重”操作,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. CMSIS-DAP仿真器_学习(转载)

    先给大家普及一下,哈哈.CMSIS-DAP仿真器,是ARM官方做的开源仿真器,没有版权,自由制作.官方给的源代码,使用的是NXP的单片机LPC4320做的.这个源代码,只要你安装了KEIL5,就可以找 ...

  2. Android设为系统默认的短信应用

    要设为系统默认的短信应用首先要配置一下AndroidManifest.xml文件,添加下列: <!-- BroadcastReceiver that listens for incoming S ...

  3. 3 ways of including JavaScript in HTML

    Code written in JavaScript must be executed from a document written in HTML. There are three ways of ...

  4. synchronized同步方法和同步代码块的区别

    同步方法默认使用this或者当前类做为锁. 同步代码块可以选择以什么来加锁,比同步方法更精确,我们可以选择只有会在同步发生同步问题的代码加锁,而并不是整个方法. 同步方法使用synchronized修 ...

  5. 几条 ffmpeg 的命令

    1,获取视频的信息   ffmpeg -i video.avi 2,将图片序列合成视频   ffmpeg -f image2 -i image%d.jpg video.mpg   上面的命令会把当前目 ...

  6. IOS开发---菜鸟学习之路--(四)-登陆界面

    本篇的内容其实大家 参照橘子的那本开发的书的话  上面讲解的是更详细的 一些实现. 我这边唯一的区别就是 做了网络数据的获取 以及 验证成功后 进行界面的跳转.. 第四篇了 本篇主讲登陆模块 首先先放 ...

  7. chrome浏览器设置自动切换代理上网的方法

    利用shadowsocks代理软件实现FQ时,如果都走代理模式,流量肯定不够.可以利用chrome的SwitchyOmega插件实现自动根据URL来决定是否使用代理.设置如下: 1.安装Switchy ...

  8. LR11生成图表后修正Analysis中显示请求的地址长度过短50个字符的问题

    在LR11的安装目录下找到LRAnalysis80.ini文件,在其中的[WPB]下添加SURLSize=255内容. 其次还需要修改LR目录下loader2.mdb文件,将其中的Breakdown_ ...

  9. [oldboy-django][2深入django]django 官方中文文档 --扩展User

    https://docs.djangoproject.com/en/2.0/topics/auth/customizing/#extending-the-existing-user-model # 另 ...

  10. [CQOI2014][bzoj3504] 危桥 [最大流]

    题面 传送门 思路 这道题中惟一的特别之处,就在于"危桥"这一个只能走两次的东西 我的第一想法是做一个dp,但是这道题只需要能不能走,也没有必要 网络流?貌似是个很好的选择 我们把 ...