set 的 remove() 和 discard()  方法介绍。

函数/方法名

  等价操作符 说明
所有集合类型
len(s)   集合基数:集合s中元素个数
set([obj])   可变集合工厂函数:ojb必须是支持迭代的,由obj中的元素创建集合,否则创建一个空集合
frozenset([obj])   不可变集合工厂函数:执行方式好set()方法相同,但它返回的是不可变集合
  obj in s 成员测试
  obj not in s 非成员测试
  s == t 等价测试
  s != t 不等价测试
  s < t (严格意义上)子集测试
s.issubset(t) s <= t 子集测试
  s > t (严格意义上)超集测试
s.issuperset(t) s >= t 超集测试
s.union(t) s | t 合并操作
s.intersec-tion(t) s & t 交集操作
s.difference(t) s – t 差分操作
s.symmetric_fifference(t) s ^ t 对称差分操作
s.copy()   赋值操作:返回s的(浅复制)副本
仅适用于可变集合
s.update(t) s |= t (Union)修改操作:将t中的成员添加s
s.intersection_update(t) s &= t 交集修改操作:s中仅包括s和t中共有的成员
s.difference_update(t) s -= t 差修改操作:s中仅包括属于s但不属于t的成员
s.symmetric_difference_ update(t) s ^= t 对称差分修改操作:s中包括仅属于s或仅属于t的成员
s.add(obj)   加操作:将obj添加到s
s.remove(obj)   删除操作
s.discard(obj)   丢弃操作:remove()的友好版本,如果s中存在ojb,从s中删除它
s.pop()   Pop操作:移除并返回s中的任意一个值
s.clear()   清除操作:移除s中的所有元素

for example:

以下运行代码会报错,原因在于 第9行 remove()中的‘l’在集合中不存在

而 discard()方法不会报错。

 # Code based on Python 3.x
# _*_ coding: utf-8 _*_
# __Author: "LEMON" names = ['lemon','zw','lr', 'lr']
names_set = set(names) names_set.discard('lemo')
names_set.remove('l')
# Error: 'lr' is not in names_set
print(names_set)

正确的代码如下:

 # Code based on Python 3.x
# _*_ coding: utf-8 _*_
# __Author: "LEMON" names = ['lemon','zw','lr', 'lr']
names_set = set(names) names_set.discard('lemo')
names_set.remove('lr')
# Error: 'lr' is not in names_set
print(names_set)

运行结果如下:

 {'lemon', 'zw'}

集合(set)-Python3的更多相关文章

  1. Python3学习之路~0 目录

    目录 Python3学习之路~2.1 列表.元组操作 Python3学习之路~2.2 简单的购物车程序 Python3学习之路~2.3 字符串操作 Python3学习之路~2.4 字典操作 Pytho ...

  2. Python学习手册(1入门知识-数据类型)

    UNIX env查找技巧 在一些UNIX系统上,可以用这样一种方法避免硬编码Python解释器的路径,在文件的特定的第一行注释中写上这样一句话. #! usr/bin/env/ python...sc ...

  3. 第三章:Python基础の函数和文件操作实战

    本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...

  4. 我和Python的Py交易》》》》》》数据类型

    Python里的变量 ---门牌 Python在使用变量之前无须定义它的类型,但是必须声明以及初始化该变量. Python中给变量赋值就是声明,初始化变量(也就是创建一个相应数据类型的对象,而那些数据 ...

  5. python3基础: 元组tuple、 列表list、 字典dict、集合set。 迭代器、生成器

    一.元组: tuple Python 的元组与列表类似,不同之处在于元组的元素不能修改. 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组 tup2 = (111, 22, 33, ...

  6. Python3 集合(set)(十五)

    集合(set)是一个无序不重复元素的序列. 它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 set和dict类似,也是一组key的集合, ...

  7. python3入门之集合set

    之前介绍python的数据结构时,没有介绍set(集合)现在在这里稍微介绍下: set原理 Python 还 包 含 了 一 个 数 据 类 型-- set ( 集 合 ) . 集 合 是 一 个 无 ...

  8. Python3 集合(无序的set)

    ayout: post title: Python3 集合(无序的set) author: "luowentaoaa" catalog: true tags: mathjax: t ...

  9. Python3基础(3)集合、文件操作、字符转编码、函数、全局/局部变量、递归、函数式编程、高阶函数

    ---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...

  10. python3编程技巧二——如何在列表、字典、集合 中根据条件筛选数据

    一.列表筛选数据 # coding=utf-8 from random import randint # 创建随机列表 l = [randint(-10, 10) for i in range(10) ...

随机推荐

  1. 关于DOM的操作以及性能优化问题-重绘重排

     写在前面: 大家都知道DOM的操作很昂贵. 然后贵在什么地方呢? 一.访问DOM元素 二.修改DOM引起的重绘重排 一.访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScri ...

  2. c#多线程

    一.使用线程的理由 1.可以使用线程将代码同其他代码隔离,提高应用程序的可靠性. 2.可以使用线程来简化编码. 3.可以使用线程来实现并发执行. 二.基本知识 1.进程与线程:进程作为操作系统执行程序 ...

  3. webstorm下载&&安装过程&&打开项目

    一.webstorm下载 WebStorm 是jetbrains公司旗下一款JavaScript 开发工具.被广大中国JS开发者誉为"Web前端开发神器"."最强大的HT ...

  4. C#中Length和Count的区别(个人观点)

    这篇文章将会很短...短到比你的JJ还短,当然开玩笑了.网上有说过Length和count的区别,都是很含糊的,我没有发现有 文章说得比较透彻的,所以,虽然这篇文章很短,我还是希望能留在首页,听听大家 ...

  5. equals变量在前面或者在后面有什么区别吗?这是一个坑点

    我就不废话那么多,直接上代码: package sf.com.mainTest; public class Test { public static void main(String[] args) ...

  6. java观察者模式

      像activeMQ等消息队列中,我们经常会使用发布订阅模式,但是你有没有想过,客户端时如何及时得到订阅的主题的信息?其实就里就用到了观察者模式.在软件系统中,当一个对象的行为依赖于另一个对象的状态 ...

  7. 编译器开发系列--Ocelot语言3.类型名称的消解

    "类型名称的消解"即类型的消解.类型名称由TypeRef 对象表示,类型由Type 对象表示.类型名称的消解就是将TypeRef 对象转换为Type 对象. TypeResolve ...

  8. React Native环境配置之Windows版本搭建

    接近年底了,回想这一年都做了啥,学习了啥,然后突然发现,这一年买了不少书,看是看了,就没有完整看完的.悲催. 然后,最近项目也不是很紧了,所以抽空学习了H5.自学啃书还是很无趣的,虽然Head Fir ...

  9. IP报头

      位字段的值设置为二进制的0100表示IP版本4(IPv4).设置为0110表示IP版本6(IPv6)   位,它表示32位字长的IP报头长度,设计报头长度的原因是数据包可选字段大小会发生变化.IP ...

  10. 关于Java中进程和线程的详解

    一.进程:是程序的一次动态执行,它对应着从代码加载,执行至执行完毕的一个完整的过程,是一个动态的实体,它有自己的生命 周期.它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而 ...