add()

含义:向集合中添加指定的元素;

# 注:重复元素没办法加入。
>>> s = {1,2,3}
>>> s.add(2)
>>> s{1, 2, 3}
>>> s.add(4)
>>> s
{1, 2, 3, 4}

remove()

含义:删除集合中指定的元素。如果元素不存在,报错;

>>> s = {1,2,3}
>>> s.remove(2)
>>> s{1, 3}
>>> s.remove(12)
File "<stdin>", line 1
s.remove(12)s.remove(12)
SyntaxError: invalid syntax

discard()

含义:删除集合中指定的元素。如果元素不存在,不进行任何操作;

>>> s = {1,2,3}
>>> s.discard(2)
>>> s
{1, 3}
>>> s.discard(12)
>>> s.discard(12)

pop()

含义:删除并返回任意集合中元素---一般不用

>>> s = {1,2,3}
>>> s.pop()
1
>>> s.pop()
2
>>> s.pop()
3
>>> s.pop()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'pop from an empty set'

clear()

含义:删除集合中的所有元素;

>>> s = {1,2,3}
>>> s.clear()
>>> s
set()

copy()

含义:对集合进行复制。(深拷贝?浅拷贝)

>>> s = {1,2,3}
>>> t = s.copy()
>>> t
{1, 2, 3}
>>> s is t
False

difference()

含义:两个集合的差集,产生新的集合,但不改变当前集合;

>>> s = {1,2,3}
>>> t = {2,3,4}
>>> s.difference(t)
{1}
>>> s
{1, 2, 3}
# 注:返回当前集合中存在,但参数集合中不存在的的元素,以集合返回。

difference_update()

含义:功能与 difference()相同,但改变当前集合;

>>> s = {1,2,3}
>>> t = {2,3,4}
>>> s.difference_update(t)
>>> s
{1}
# 注:因为改变了 s 原有集合,所以 s.difference_update(t)返回的是 None, s改变了,我们只需要操作 s 本身即可。

intersection()

含义:两个集合的交集,产生新的集合,但不改变当前集合;

>>> s = {1,2,3}
>>> t = {2,3,4}
>>> s.intersection(t)
{2, 3}
>>> s
{1, 2, 3}

intersection_update()

含义:功能与 difference()相同,但改变当前集合;

>>> s = {1,2,3}
>>> t = {2,3,4}
>>> s.intersection_update(t)
>>> s
{2, 3}

union()

含义:两个集合的并集,产生新的集合,但不改变当前集合;

>>> s = {1,2,3}
>>> t = {2,3,4}
>>> s.union(t)
{1, 2, 3, 4}
>>> s
{1, 2, 3}

update()

含义:功能与 union()相同,但改变当前集合;

>>> s = {1,2,3}
>>> t = {2,3,4}
>>> s.update(t)
>>> s
{1, 2, 3, 4}
>>> t
{2, 3, 4}

symmetric_difference()

含义:两个集合的对称差集;

>>> s = {1,2,3}
>>> t = {2,3,4}
>>> s.symmetric_difference(t)
{1, 4}
>>> s
{1, 2, 3}
# 注: “ 对称差集” 返回 s 中有, t 中有,但不同时在 s、 t 中共有的元素。

symmetric_difference_update()

含义:功能与 symmetric_difference ()相同,但改变当前集合;

>>> s = {1,2,3}
>>> t = {2,3,4}
>>> s.symmetric_difference_update(t)
>>> s
{1, 4}

isdisjoint()

含义:判断当前集合与参数集合,是否交集为空;是返回 True,否返回 False;

>>> s = {1,2,3}
>>> t = {2,3,4}
>>> u = {4,5,6}
>>> s.isdisjoint(t)
False
>>> s.isdisjoint(u)
True
>>> s
{1, 2, 3}

issubset()

含义:判断当前集合是否为参数集合,的子集;是返回 True,否返回 False;

>>> s = {1,2,3}
>>> t = {2,3,4}
>>> u = {4,5,6}
>>> s.issubset(t)
False
>>> s.issubset(u)
False
>>> s
{1, 2, 3}

issuperset()

含义:判断当前集合是否为参数集合,的父集;是返回 True,否返回 False;

>>> s = {1,2,3}
>>> t = {2,3,4}
>>> u = {1,2,3,4}
>>> v = {2,3}
>>> s.issuperset(t)
False
>>> s.issuperset(v)
True
>>> s
{1, 2, 3}

python基础(十一):集合的使用(下)的更多相关文章

  1. python基础数据类型--集合(set)

    python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...

  2. Python基础-week03 集合 , 文件操作 和 函数详解

    一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...

  3. Python基础(三)——集合、有序 无序列表、函数、文件操作

    1.Set集合 class set(object): """ set() -> new empty set object set(iterable) -> n ...

  4. Python基础知识2-内置数据结构(下)

    bytes.bytearray #思考下面例子: a = 1 b = a print(a == b)#True print(a is b)#True print(id(a) is id(b))#Fal ...

  5. python基础——数字&集合&布尔类型

    Python的核心数据类型 内置对象 对象类型 例子 数字 123,3.1415,3+4j,Decimal(小数),Fraction(分数) 字符串 'dodo',"guido's" ...

  6. 01.Python基础-3.集合容器

    1 列表list 1.1 列表介绍 Python内置的一种数据类型是列表:list. 有序的集合,可随时添加和删除其中的元素. 每个元素都分配一个数字 --它的位置,或索引.0,1,2,3-- 可存放 ...

  7. python基础-3 集合 三元运算 深浅拷贝 函数 Python作用域

    上节课总结 1 运算符 in 字符串 判断  : “hello” in "asdasfhelloasdfsadf" 列表元素判断:"li" in ['li', ...

  8. Python 基础之在ubuntu系统下安装双版本python

    前言:随着python升级更新,新版本较于老版本功能点也有不同地方,作为一个初学者应该了解旧版本的规则,也要继续学习新版本的知识.为了能更好去学习python,我在ubuntu安装python2和py ...

  9. python基础dict,集合,文件

    字典是一种key:value的数据类型dict1{ 'stud1':'孙礼昭', 'stud2':'slz', 'stud3':'sunlizhao',}dict是无序的,key是唯一的  天生去重增 ...

  10. python 基础 set 集合类型补充

    为啥今天又重提这个数据类型呢?平时用的少,等要用起来的时候才发现,自己对这块啥都不知道了,so,今天就把这块再梳理一下咯. 一.set集合,是一个无序且不重复的元素集合.这一点是非常重要的. 二.集合 ...

随机推荐

  1. PAUL ADAMS ARCHITECT:薪资追不上房价美一半家庭难买房

    尽管上一年度美国经济遭受重创,但美国房价依旧持续蹿扬,据最新调查显示,美国大部分地区的房价已经到了一般家庭无法负担的水准. 美国房价上涨持续强劲,主要受益美国人居家办公需求(受大环境影响,目前美国有7 ...

  2. USDN代币多少钱?USDN有什么用?

    加密货币走向主流人群的采用有很多障碍,比如监管.交易所黑客事件等,但最明显的障碍还是它们极端的价格波动.这从加密货币的整个历史长度来看都是如此.一个货币要正常运转,比如成为有效的交换媒介.记账单位以及 ...

  3. Java线程池实现原理及其在美团业务中的实践

    本文转载自Java线程池实现原理及其在美团业务中的实践 导语 随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流.使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器.J.U.C提供 ...

  4. 死磕Spring之IoC篇 - BeanDefinition 的解析阶段(XML 文件)

    该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读 Spring 版本:5.1. ...

  5. centos7.5+nginx+php急速配置

    centos7.5+nginx+php急速配置 centosnginxphp 更新系统以及添加源 yum update yum -y install epel-release 安装php以及配置 yu ...

  6. mysql 单表下的字段操作

    如下只介绍单表的添加.更新.删除.查询表结构操作,查询数据操作范围太大用单独的篇幅来讲解: 查看表结构 desc test_tb; Insert 插入数据 插入 = 添加 为表中指定的字段插入数据 C ...

  7. 蓝桥杯-分考场(dfs)

    分考场 PREV-53 这题的解决方法使用dfs,因为数据很小,才100. 每次当前的人人是否可以和前面的组队,设置两个数组group和fri /*DFS求解:思路每次判断输入的人是否可以和前面的组队 ...

  8. AI人脸匹对

    人脸匹对 技术 调用到百度的AI接口,layui的图片上传,栅格化布局 核心代码 纯py代码运行 # encoding:utf-8 from aip import AipFace import bas ...

  9. redis一句话木马控电脑

      (1)在redis管理工具内写入木马并保存: 输入命令行: config set dbfilename shell.php set shell "<?php @assert($_P ...

  10. TripleDES对称加密解密 -[C#-JAVA]

    C#代码段 先MD5 再TripleDES加密 using System;using System.Collections.Generic;using System.Linq;using System ...