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. 漫扯:从polling到Websocket

    Http被设计成了一个单向的通信的协议,即客户端发起一个request,然后服务器回应一个response.这让服务器很为恼火:我特么才是老大,我居然不能给小弟发消息... 轮询 老大发火了,小弟们自 ...

  2. 网站定位之---根据IP获得区域

    记得以前做一个培训机构网站时候需要定位,那时候用的搜狐的api,不是很精准. demo:https://github.com/dunitian/LoTCodeBase/tree/master/NetC ...

  3. OpenCASCADE Shape Location

    OpenCASCADE Shape Location eryar@163.com Abstract. The TopLoc package of OpenCASCADE gives resources ...

  4. geotrellis使用(二十八)栅格数据色彩渲染(多波段真彩色)

    目录 前言 实现过程 总结 一.前言        上一篇文章介绍了如何使用Geotrellis渲染单波段的栅格数据,已然很是头疼,这几天不懈努力之后工作又进了一步,整清楚了如何使用Geotrelli ...

  5. Spark读写Hbase的二种方式对比

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 一.传统方式 这种方式就是常用的TableInputFormat和TableOutputForm ...

  6. python 数据类型 -- 元组

    元组其实是一种只读列表, 不能增,改, 只可以查询 对于不可变的信息将使用元组:例如数据连接配置 元组的两个方法: index, count >>> r = (1,1,2,3) &g ...

  7. GOF23设计模式归类

    创建型模式:-单例模式.工厂模式.抽象工厂模式.建造者模式.原型模式结构型模式:-适配器模式.桥接模式.装饰模式.组合模式.外观模式.享元模式.代理模式行为型模式:-模板方法模式.命令模式.迭代器模式 ...

  8. springmvc SSM shiro redis 后台框架 多数据源 代码生成器

    A集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单 下载地址    ; freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类 ...

  9. FreeMarker:怎么使用

    第一个FreeMarker程序 1. 建立一个普通的java项目:testFreeMarker 2. 引入freemarker.jar包 3. 在项目目录下建立模板目录:templates 4. 在t ...

  10. 用Java代码实现拦截区域网数据包

    起因: 吃饭的时间在想如果区域网内都是通过路由器上网,那如何实现拦截整个区域网的数据包,从而实现某种窥探欲. 思路:      正常是通过电脑网卡预先设置或分配的IP+网关对路由器进行通讯,比如访问百 ...