1.定义

集合的关键字:set

集合主要作用:

  • 去重,把一个列表变成集合,就自动去重了
  • 关系测试,测试两组数据之前的交集、差集、并集等关系

集合用大括号{}表示,元素间用逗号分隔。

建立集合类型用{}或set(),建立空集合,必须使用set()。

集合元素之间无序,每个元素唯一,不存在相同元素。

在python中,集合元素不可更改,不能是可变数据类型。

  -集合中的每个元素,一旦放入集合中,不可修改。

  -可变数据类型元素不可放入集合内。

2.集合创建方式

# 使用{}建立集合
A = {"python",123,("python",123)}
print(A) # 使用set()建立集合
# 注:set函数创建的集合,会将每个字符分开分别创建一个元素,集合中不存在相同集合,所以只保留一个相同元素,集合没有顺序,所以顺序是随机的
B = set("pypy123")
print(B) 结果:
{123, 'python', ('python', 123)}
{'3', '1', 'p', 'y', '2'}

3.集合操作符

a = t | s          # t 和 s的并集  
b = t & s # t 和 s的交集
c = t – s # 求差集(项在t中,但不在s中)
d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)

效果也如下图所示:

4.增强型集合操作符

Python还提供了关系操作符外,python还提供了>  =  >=  <=  <
S<=T或S<T 返回True/False,判断S和T的子集关系
S>=T或S>T 返回True/False,判断S和T和包含关系

增强操作符如图所示:
增强操作符:使用赋值=符号,更新集合的元素

注:如果不使用增强操作符,两个集合进行运算,会生成一个新的集合。

5.集合处理方法

如图所示:

注:discard和remove的区别在于是否产生异常 如果出现异常,可以使用之前学过的try异常处理捕捉异常,所以这里很关键。

除此之外:
S.clear() 移除S集合中的所有元素
S.pop() 随机返回集合S中的一个元素,更新S,若S为空产生keyerror异常
除此之外还有:

# 基本操作:
s = set([3,5,9,10]) # 创建一个数值集合
t = set("Hello") # 创建一个唯一字符的集合
t.add('x') # 添加一项
s.update([10, 37, 42]) # 在s中添加多项 # 使用remove()
# 可以删除一项:
t.remove('H') # set的长度
len(s) # 测试 x 是否是 s 的成员
x in s # 测试 x 是否不是 s 的成员
x not in s # 测试是否 s 中的每一个元素都在 t 中
s.issubset(t)
s <= t # 测试是否 t 中的每一个元素都在 s 中
s.issuperset(t)
s >= t # 返回一个新的 set 包含 s 和 t 中的每一个元素
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”的一个浅复制
s.copy()

(16)-Python3之--集合(set)操作的更多相关文章

  1. 从头认识Spring-1.16 SpEl对集合的操作(1)-建立集合以及訪问集合的元素,以&lt;util:list/&gt;为例

    这一章节我们来讨论一下怎样建立集合以及訪问集合的元素? 1.建立集合? (1)domain 蛋糕类: package com.raylee.my_new_spring.my_new_spring.ch ...

  2. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  3. python3与Redis连接操作

    Python3之redis使用   简介 redis是一个key-value存储系统,和Memcache类似,它支持存储的value类型相对更多,包括string(字符串),list(链表),set( ...

  4. 第16章 List集合的总结和遍历

    第16章 List集合的总结和遍历 1.重构设计 根据Vector类,ArrayList类,和LinkedList类所具有的存储特点以及拥有的方法入手,发现共性往上抽取. 共同特点: 1.允许元素重复 ...

  5. paip.数组以及集合的操作uapi java php python总结..

    paip.数组以及集合的操作uapi 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/att ...

  6. Scala 运算符和集合转换操作示例

    Scala是数据挖掘算法领域最有力的编程语言之一,语言本身是面向函数,这也符合了数据挖掘算法的常用场景:在原始数据集上应用一系列的变换,语言本身也对集合操作提供了众多强大的函数,本文将以List类型为 ...

  7. Python3.x:SQLAlchemy操作数据库

    Python3.x:SQLAlchemy操作数据库 前言 SQLAlchemy是一个ORM框架(Object Rational Mapping,对象关系映射),它可以帮助我们更加优雅.更加高效的实现数 ...

  8. Python3 IO编程之操作文件和目录

    如果我们要操作文件,目录,可以在命令行下面输入操作系统提供的各种命令来完成.比如ls,cp等命令 如果要在python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令指示简单地调用了操作系 ...

  9. Learn day3 深浅拷贝/格式化/字符串/列表/字典/集合/文件操作

    1. pass break continue # ### pass break continue # (1) pass 过 """如果代码块当中,什么也不写,用pass来 ...

随机推荐

  1. ubuntu20.04 LTS 更换国内163源、阿里源、清华源、中科大源

    Ubuntu 20.04 是 Ubuntu 的第 8 个 LTS 版本,其重大更新和改进将在 2030 年前终止,计划于2020年 4 月 23 日发布. 国内有很多Ubuntu的镜像源,有阿里的.网 ...

  2. python之代码重构

    在撸码过程中,总有很多代码需要重构,码一个问候用户的小例子,加深对代码重构的印象. 原始代码: 1 import json 2 3 filename = 'username.json' #定义文件名 ...

  3. [WPF] 让第一个数据验证出错(Validation.HasError)的控件自动获得焦点

    1. 需求 在上一篇文章 <在 ViewModel 中让数据验证出错(Validation.HasError)的控件获得焦点>中介绍了如何让 Validation.HasError 的控件 ...

  4. 在 WSL Ubuntu 上使用 .NET 进行跨平台开发新手入门

    翻译自 haydenb 2020年6月3日的文章<Getting started with cross-platform development using .NET on Ubuntu on ...

  5. postgre sql递归查询

    WITH  RECURSIVE  r  AS (SELECT * FROM [表] WHERE id = xxxunion ALLSELECT [表].* FROM [表], r WHERE [表]. ...

  6. SM4

    整体结构 T变换 SM4解密的合理性证明 秘钥扩展

  7. eclipse开启的时候adb.exe会自动开启么 怎么让它跟着eclipse自动开启

    会的,Eclipse 参数页中的 General > Startup and Shutdown 中默认 Android Development Tools 是自动激活的,它会启动 adb.exe ...

  8. String--常见面试题

    String s = new String("xyz") 创建了几个对象? 实例分析1 javac编译代码,然后用javap来反编译,执行javap -c Test 从结果来看,l ...

  9. Python解释器和IPython

    目录 简介 Python解释器 IPython 魔法函数 运行和编辑 Debug History 运行系统命令 简介 今天给大家介绍一下Python的一个功能非常强大的解释器IPython.虽然Pyt ...

  10. 微信开发所需要的的方法(签名认证、数组转字符串方法、将xml字符串转换为数组、发送xml请求方法)

    //将xml字符串转换为数组 public function xmlToArray($xml){ $array_data = json_decode(json_encode(simplexml_loa ...