集合(set)是一个无序的不重复元素序列。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建格式:

parame = {value01,value02,...}

或者

set(value)

  1. basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
  2. print(basket) # 这里演示的是去重功能
  3.  
  4. print('orange' in basket )
  5. print('crabgrass' in basket) # 快速判断元素是否在集合内
  6.  
  7. ##两个集合之间的运算
  8. a = set('abracadabra')
  9. b = set('alacazam')
  10. print(a)
  11. print(b)
  12.  
  13. print(a - b) #集合a中包含而集合b中不包含的元素
  14. print(a | b) #集合a或b中包含的所有元素
  15. print(a & b) #集合a和b中都包含了的元素
  16. print(a ^ b) #不同时包含于a和b的元素

一、集合的基本操作

  1. #集合的基本操作
  2. #firstset = set(('wuzm','liyanan','shanbaoliang'))
  3. firstset = {'wuzm','liyanan','shanbaoliang'}
  4. print(firstset)
  5.  
  6. #增加元素
  7. firstset.add('wuzongmei') #将元素添加到集合中,如果元素已存在,则不进行任何操作。
  8. firstset.update({'abcd','hahahah'}) #update,也可以添加元素,且参数可以是列表,元组,字典等
  9. firstset.update([,],[,])
  10.  
  11. #移除元素
  12. firstset.remove('wuzm') #移除某个元素,不存在会发生错误
  13. firstset.discard('wuzm') #另一个方法移除集合中的元素,且如果元素不存在,不会发生错误
  14. firstset.pop() #设置随机删除集合中的一个元素
  15. firstset.clear() #清空集合
  16.  
  17. len(firstset) #计算集合元素的个数

二、集合的内置方法

复制:set.copy()

  1. firstset = {'wuzm','liyanan','shanbaoliang'}
  2. x=firstset.copy()
  3. print(x) #拷贝一个集合,无返回值

取差集:difference() 和  difference_update()

difference_update() 方法与 difference() 方法的区别在于 difference() 方法返回一个移除相同元素的新集合,而 difference_update() 方法是直接在原来的集合中移除元素,没有返回值。

  1. firstset = {'wuzm','liyanan','shanbaoliang'}
  2. secondset = {'wuzm','wuzongling','wuzongmei'}
  3.  
  4. print(firstset.difference(secondset)) # 返回firstset和secondset集合的差集
  5. #返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中。
  6. firstset.difference_update(secondset) # 无返回值,用于移除两个集合中都存在的元素。
  7. print(firstset) #输出{'liyanan','shanbaoliang'}

取交集:intersection()  和 intersection_update()

intersection_update() 方法不同于 intersection() 方法,因为 intersection() 方法是返回一个新的集合,而 intersection_update() 方法是在原始的集合上移除不重叠的元素。

  1. firstset = {'wuzm','liyanan','shanbaoliang'}
  2. secondset = {'wuzm','wuzongling','wuzongmei'}
  3.  
  4. x=firstset.intersection(secondset) #返回集合的交集
  5. print(x)
  6. firstset.intersection_update(secondset) #返回集合的交集
  7. print(firstset)

取返回两个集合中不重复的元素集合

symmetric_difference() 方法返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。

symmetric_difference_update() 方法移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。

  1. x = {'wuzm','liyanan','shanbaoliang'}
  2. y = {'wuzm','wuzongling','wuzongmei'}
  3.  
  4. x.symmetric_difference(y)
  5. print(x)
  6. x.symmetric_difference_update(y)
  7. print(x)

其他内置方法

  1. x = {'wuzm','liyanan','shanbaoliang'}
  2. y = {'wuzm','wuzongling','wuzongmei'}
  3.  
  4. print(x.isdisjoint(y)) #判断集合 y 中是否有包含 集合 x 的元素,如果不包含返回 True,否则返回 False。
  5. print(x.issubset(y)) #判断集合x的所有元素是否都包含在指定集合y中,如果是则返回 True,否则返回 False。
  6. print(x.issuperset(y)) #判断指定集合y的所有元素是否都包含在原始的集合x中,如果是则返回 True,否则返回 False。
  7. print(x.union(y)) #返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次。

python学习笔记(6)数据类型-集合的更多相关文章

  1. Python学习笔记 - day3 - 数据类型及运算符

    Python的数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同 ...

  2. python学习笔记二 数据类型(基础篇)

    Python基础 对于Python,一切事物都是对象,对象基于类创建         不同类型的类可以创造出字符串,数字,列表这样的对象,比如"koka".24.['北京', '上 ...

  3. Python学习笔记3_数据类型

    Python数据类型:数字.字符串.列表.元祖.字典 一.数字类型:(整型.长整型.浮点型.复数型) 1.整型(int):表示范围-2,147,483,648到2,147,483,647 2.长整型( ...

  4. 02 Python学习笔记-基本数据类型(二)

    一.基本知识 1.缩进: 2.一行多条语句: 3.断行: 4.注释 # 单行注释 '''这是一段 多行注释''' 5. 变量 1. 变量类型(局部变量.全局变量.系统变量) 2. 变量赋值 多重赋值x ...

  5. python学习笔记:数据类型——列表/数组(list)

    Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.通过下标访问列表中的元素(又称索引.角标),下标从0开始计数.list定义,使用中括号[]. l ...

  6. Python学习笔记---数 数据类型 运算

    python的四种数类型: 整数 int 浮点型 float 布尔 boolen 复数 complex >>> type(5)<class 'int'>>>& ...

  7. python学习笔记(数据类型)

    python数据类型: int 类型 float 小数类型 string 字符串 布尔类型 a = True b = False 1.列表,也称数组或list或array.它的表达方式通过下标或索引或 ...

  8. python学习笔记之数据类型、字符编码、文件处理

    1.数据类型 1.数字(int,float) 整形(int):定义 age=20  #本质age=int(20) 浮点类型:salary=3000.3 #本质salary=float(3000.3) ...

  9. python学习笔记:数据类型——数字、字符串、元祖、字典

    计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数 ...

  10. python学习笔记之数据类型(二)

    上一篇博客,小波介绍了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法. 一.数据类型是何方神圣? 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当 ...

随机推荐

  1. SQL基础教程(第2版)第5章 复杂查询:练习题

    /* 下面是解答示例 */ -- 创建视图的语句 CREATE VIEW ViewPractice5_1 AS SELECT product_name, sale_price, regist_date ...

  2. 存储基本概念(lun,volume,HBA,DAS,NAS,SAN,iSCSI,IPSAN)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/liukuan73/article/det ...

  3. h5-钟表动画案例

    1.html代码 <div class="clock"> <div class="line line1"> <div class= ...

  4. Java 静态static关键字,main函数,对象的初始化过程,对象调用成员,单例模式的设计,静态代码块(6)

    Java 静态static关键字,静态代码块详情参考:static的使用原理讲解http://www.cnblogs.com/itcqx/p/5519464.html main函数: java Mai ...

  5. matlab中画一条折线时怎样显示出每个点折点的数值

    举个例子: num=[5,44,62,154,264,365,398,480,619,705,762,728,669,726,890,731,707,696,558,509,444];date=[1. ...

  6. Python笔记_第四篇_高阶编程_实例化方法、静态方法、类方法和属性方法概念的解析。

    1.先叙述静态方法: 我们知道Python调用类的方法的时候都要进行一个实例化的处理.在面向对象中,一把存在静态类,静态方法,动态类.动态方法等乱七八糟的这么一些叫法.其实这些东西看起来抽象,但是很好 ...

  7. Dojo Grid结合Ajax用法

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CustomerDefine ...

  8. Python—冒泡排序算法

    冒泡排序 一,介绍 冒泡排序(Bubble Sort)也是一种简单直观的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再 ...

  9. arg min,arg max, e.g ,i.e

    数学中常见的arg min,arg max 是什么意思 arg 是变元(即自变量argument)的英文缩写 arg min 就是使后面这个式子到达最小值时的变量的取值 arg max 就是使后面这个 ...

  10. zeroc ice log4net 多进程log文件问题

    使用zeroc ice 中的icebox 的时候多服务会有多个服务实例,每个实例都要写日志文件,所以要配置多个日志文件区分开来, 类似这样  orderservice_1_20160101.log   ...