集合(set)-Python3
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的更多相关文章
- Python3学习之路~0 目录
目录 Python3学习之路~2.1 列表.元组操作 Python3学习之路~2.2 简单的购物车程序 Python3学习之路~2.3 字符串操作 Python3学习之路~2.4 字典操作 Pytho ...
- Python学习手册(1入门知识-数据类型)
UNIX env查找技巧 在一些UNIX系统上,可以用这样一种方法避免硬编码Python解释器的路径,在文件的特定的第一行注释中写上这样一句话. #! usr/bin/env/ python...sc ...
- 第三章:Python基础の函数和文件操作实战
本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...
- 我和Python的Py交易》》》》》》数据类型
Python里的变量 ---门牌 Python在使用变量之前无须定义它的类型,但是必须声明以及初始化该变量. Python中给变量赋值就是声明,初始化变量(也就是创建一个相应数据类型的对象,而那些数据 ...
- python3基础: 元组tuple、 列表list、 字典dict、集合set。 迭代器、生成器
一.元组: tuple Python 的元组与列表类似,不同之处在于元组的元素不能修改. 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组 tup2 = (111, 22, 33, ...
- Python3 集合(set)(十五)
集合(set)是一个无序不重复元素的序列. 它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 set和dict类似,也是一组key的集合, ...
- python3入门之集合set
之前介绍python的数据结构时,没有介绍set(集合)现在在这里稍微介绍下: set原理 Python 还 包 含 了 一 个 数 据 类 型-- set ( 集 合 ) . 集 合 是 一 个 无 ...
- Python3 集合(无序的set)
ayout: post title: Python3 集合(无序的set) author: "luowentaoaa" catalog: true tags: mathjax: t ...
- Python3基础(3)集合、文件操作、字符转编码、函数、全局/局部变量、递归、函数式编程、高阶函数
---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...
- python3编程技巧二——如何在列表、字典、集合 中根据条件筛选数据
一.列表筛选数据 # coding=utf-8 from random import randint # 创建随机列表 l = [randint(-10, 10) for i in range(10) ...
随机推荐
- 【疯狂造轮子-iOS】JSON转Model系列之二
[疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一> ...
- 1.初始Windows Server 2012 R2 Hyper-V + 系统安装详细
干啥的?现在企业服务器都是分开的,比如图片服务器,数据库服务器,redis服务器等等,或多或少一个网站都会用到多个服务器,而服务器的成本很高,要是动不动采购几十台,公司绝对吃不消的,于是虚拟化技术出来 ...
- windows环境下sublime的nodejs插件详细安装图解
前面的话 搜索了好多文档后,才成功地安装了sublime text3的nodejs插件.为了存档,也为了方便有同样需求的朋友,将其安装过程详细记录如下 安装nodejs 虽然nodejs官网提供了 ...
- 如何避免git每次提交都输入密码
在ubuntu系统中,如何避免git每次提交都输入用户名和密码?操作步聚如下:1: cd 回车: 进入当前用户目录下:2: vim .git-credentials (如果没有安装vim 用其它编辑器 ...
- CSS3新特性应用之结构与布局
一.自适应内部元素 利用width的新特性min-content实现 width新特性值介绍: fill-available,自动填充盒子模型中剩余的宽度,包含margin.padding.borde ...
- 【从零开始学BPM,Day3】自定义表单开发
[课程主题] 主题:5天,一起从零开始学习BPM [课程形式] 1.为期5天的短任务学习 2.每天观看一个视频,视频学习时间自由安排. [第三天课程] 1.课程概要 Step 1 软件下载:H3 BP ...
- Git学习笔记一:新建本地仓库及初始化
1.百度搜索Git下载安装,直接按默认选项安装即可. 例如:Git-2.7.2-32-bit_setup.1457942412.exe 2.配置Git信息,建立版本仓库 (Alt+PrintScerr ...
- SQL 提示介绍 hash/merge/concat union
查询提示一直是个很有争议的东西,因为他影响了sql server 自己选择执行计划.很多人在问是否应该使用查询提示的时候一般会被告知慎用或不要使用...但是个人认为善用提示在不修改语句的条件下,是常用 ...
- 在Linux虚拟机下配置jdk的环境变量
1.到Oracle公司的官网里下载好jdk,网址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...
- PADS Layout 颜色设置
一.板框.装配线.标注线配置: 二.个人爱好,我一般把Top pads设置成为浅绿色,Top Trace/vias/2D Line/Text/Cooper设置成为深绿色,Error设置成为黄色,而Bo ...