python基础(十一):集合的使用(下)
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基础(十一):集合的使用(下)的更多相关文章
- python基础数据类型--集合(set)
python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
- Python基础(三)——集合、有序 无序列表、函数、文件操作
1.Set集合 class set(object): """ set() -> new empty set object set(iterable) -> n ...
- Python基础知识2-内置数据结构(下)
bytes.bytearray #思考下面例子: a = 1 b = a print(a == b)#True print(a is b)#True print(id(a) is id(b))#Fal ...
- python基础——数字&集合&布尔类型
Python的核心数据类型 内置对象 对象类型 例子 数字 123,3.1415,3+4j,Decimal(小数),Fraction(分数) 字符串 'dodo',"guido's" ...
- 01.Python基础-3.集合容器
1 列表list 1.1 列表介绍 Python内置的一种数据类型是列表:list. 有序的集合,可随时添加和删除其中的元素. 每个元素都分配一个数字 --它的位置,或索引.0,1,2,3-- 可存放 ...
- python基础-3 集合 三元运算 深浅拷贝 函数 Python作用域
上节课总结 1 运算符 in 字符串 判断 : “hello” in "asdasfhelloasdfsadf" 列表元素判断:"li" in ['li', ...
- Python 基础之在ubuntu系统下安装双版本python
前言:随着python升级更新,新版本较于老版本功能点也有不同地方,作为一个初学者应该了解旧版本的规则,也要继续学习新版本的知识.为了能更好去学习python,我在ubuntu安装python2和py ...
- python基础dict,集合,文件
字典是一种key:value的数据类型dict1{ 'stud1':'孙礼昭', 'stud2':'slz', 'stud3':'sunlizhao',}dict是无序的,key是唯一的 天生去重增 ...
- python 基础 set 集合类型补充
为啥今天又重提这个数据类型呢?平时用的少,等要用起来的时候才发现,自己对这块啥都不知道了,so,今天就把这块再梳理一下咯. 一.set集合,是一个无序且不重复的元素集合.这一点是非常重要的. 二.集合 ...
随机推荐
- python 相对路径和绝对路径的区别
一,Python中获得当前目录和上级目录 获取当前文件的路径: from os import path d = path.dirname(__file__) #返回当前文件所在的目录 # __file ...
- 最小生成树---普里姆算法(Prim算法)和克鲁斯卡尔算法(Kruskal算法)
普里姆算法(Prim算法) #include<bits/stdc++.h> using namespace std; #define MAXVEX 100 #define INF 6553 ...
- 12.scikit-learn中的Scaler
import numpy as np from sklearn import datasets iris = datasets.load_iris() X = iris.data y = iris.t ...
- SSL/TLS协议详解(上):密码套件,哈希,加密,密钥交换算法
本文转载自SSL/TLS协议详解(上):密码套件,哈希,加密,密钥交换算法 导语 作为一名安全爱好者,我一向很喜欢SSL(目前是TLS)的运作原理.理解这个复杂协议的基本原理花了我好几天的时间,但只要 ...
- JPEG解码——(4)霍夫曼解码
本篇是该系列的第四篇,主要介绍霍夫曼解码相关内容. 承接上篇,文件头解析完毕后,就进入了编码数据区域,即SOS的tag后的区域,也是图片数据量的大头所在. 1. 解码过程规则描述 a)从此颜色分量单元 ...
- C#从1970年开始到现在时间的总秒数
TimeSpan timeSpan = (DateTime.UtcNow - new DateTime(1970, 1, 1)); string timeStamp = ((int)timeSpan. ...
- AForge实现拍照
记得先引用DLL private FilterInfoCollection videoDevices; private VideoCaptureDevice videoSource; BLL.AWBL ...
- es命令测试
1.新建索引并赋值 :put/索引名/文档名/id //文档名后面会逐渐取消 相当表 PUT /test1/type1/1{ "nmae":"hb", &quo ...
- 01.从0实现一个JVM语言之架构总览
00.一个JVM语言的诞生过程 文章集合以及项目展望 源码github地址 这一篇将是架构总览, 将自顶向下地叙述自制编译器的要素; 文章目录 01.从0实现一个JVM语言之架构总览 架构总览目前完成 ...
- 剑指 Offer 37. 序列化二叉树 + 二叉树的层次遍历
剑指 Offer 37. 序列化二叉树 Offer_37 题目描述 题目解析 本题主要考察的就是二叉树的层次遍历. 层次遍历时可以根据二叉树的特点将空结点也进栈. 反序列化时同样可以根据层次遍历的思路 ...