python基础之set集合详解

一、set 集合

集合(set)是一个无序的不重复元素序列。

可以使用大括号 {} 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

二、创建集合

print({"1", "2", "3"})  # {'2', '3', '1'}
print(set("123"))  # {'2', '3', '1'}
print(set((1, 2, 3)))  # {1, 2, 3}
print(set([11,22,33]))  # {33, 11, 22}

add

添加元素到集合

s1 = {"1", "2", "3"}
s1.add("4")
print(s1)  # {'1', '4', '3', '2'}
s1.add("abc")
print(s1)  # {'abc', '1', '4', '2', '3'}

clear

清空集合中所有元素

s1 = {"1", "2", "3"}
s1.clear()
print(s1)  # set()

discard

从一个集合中删除指定元素,如果元素不成在,什么都不做

s1 = {"1", "2", "3"}
print(s1.discard("4"))  # None
print(s1)  # {'2', '1', '3'}
print(s1.discard("1"))  # None
print(s1)  # {'2', '3'}

remove

删除指定元素,如果元素不存在,抛 KeyError

s1 = {"a", "c", "3"}
s1.remove("a")
print(s1)  # {'3', 'c'}

pop

随意返回集合的一个元素,如果集合为空,抛 KeyError

s1 = {"a", "c", "3"}
print(s1.pop())  # 3

update

根据两个集合的合集,更新自身

s1 = {"1", "2", "3"}
s2 = {"a", "2", "c"}
s1.update(s2)
print(s1)  # {'1', 'c', 'a', '3', '2'}

copy

浅拷贝一个集合

s1 = {"1", "2", "3"}
s2 = s1.copy()
print(s2)  # {'2', '1', '3'}

difference

差集 返回两个集合的不同元素,原来集合不变

s1 = {"1", "2", "3"}
s2 = {"1", "2", "4"}
print(s1.difference(s2))  # {'3'}
print("差集:", s1-s2)  # 差集: {'3'}

difference_update

从一个集合中移除与另一个集合相同的元素

s1 = {"1", "2", "3"}
s2 = {"1", "2", "4"}
s1.difference_update(s2)
print(s1)  # {'3'}

intersection

交集 返回两个集合的交集

s1 = {"1", "2", "3"}
s2 = {"a", "2", "c"}
s3 = s1.intersection(s2)
print(s3)
print("交集:", s1 & s2)  # {'2'}

intersection_update

根据和另一个集合的交集更新自身

s1 = {"1", "2", "3"}
s2 = {"a", "2", "c"}
s1.intersection_update(s2)
print(s1)  # {'2'}

isdisjoint

如果两个集合的交集为空,返回 True,否则返回 Fasle

s1 = {"1", "2", "3"}
s2 = {"a", "2", "c"}
s3 = {"a", "b", "c"}
print(s1.isdisjoint(s2))  # False
print(s1.isdisjoint(s3))  # True

issubset

判断一个集合是否是另一个的子集

s1 = {"a", "c", "3"}
s2 = {"a", "c"}
print(s1.issubset(s2))  # False
print(s2.issubset(s1))  # True

issuperset

判断一个集合是否包含另一个的子集

s1 = {"a", "c", "3"}
s2 = {"a", "c"}
print(s1.issuperset(s2))  # True
print(s2.issuperset(s1))  # False

symmetric_difference

交叉补集 返回两个集合的对称差(两个集合中不同部分的合集)

s1 = {"1", "2", "3"}
s2 = {"a", "2", "c"}
s3 = s1.symmetric_difference(s2)
print(s3)  # {'1', 'a', 'c', '3'}
print("交叉补集:", s1 ^ s2)  # {'1', 'c', '3', 'a'}

symmetric_difference_update

两个集合的对称差(两个集合中不同部分的合集),并更新集合

s1 = {"1", "2", "3"}
s2 = {"a", "2", "c"}
s1.symmetric_difference_update(s2)
print(s1)  # {'a', '3', 'c', '1'}

union

合集 返回两个集合的合集

s1 = {"1", "2", "3"}
s2 = {"a", "2", "c"}
s3 = s1.union(s2)
print(s3)  # {'a', '1', 'c', '3', '2'}
print("合集:", s1 | s2)  # {'3', '2', 'c', '1', 'a'}

不可变集合 frozenset

fs = frozenset("python")
print(fs)  # frozenset({'o', 'n', 'y', 'h', 'p', 't'})

到此这篇关于python基础之set集合详解的文章就介绍到这了,更多相关python的set集合内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python基础之字符串操作常用函数集合

    Python字符串常用功能汇总 1.字符串的定义 #定义空字符串>>> name=''#定义非空字符串 >>> name="luoahong"#通过下标访问 >>> name[1] 'u'#不能修改字符串的值,否则会报错 >>> name[2] = "3" Traceback (most recent call last): File "<stdin>", lin

  • Python3 集合set入门基础

    集合(set)是一个无序的不重复元素序列. 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典. 集合.是字典的表亲 {}并不是字典的特权 集合的特点: 1 具有唯一性 2 不支持索引 3 与字典相同,也是无序的 创建格式: parame = {value01,value02,...} 或者 set(value) 创建方法 num1 = {1,2,3,4} num2 = set(['q','w','e

  • python基础入门之字典和集合

    python 中有6大标准类型: 数字(Number) 字符串(String) 列表(List) 元组(Tumple) 集合(Set) 字典(Dictionary) 前面已经介绍了上面4种,还有下面两种来介绍一下. 正文 字典 字典看起来非常像json,是的非常非常像,但是我们起码需要明白的是json是一个字符格式,而字典是一种数据结构. 区别: 1)json的key只能是字符串,dict的key可以是任何可hash的对象,例如:字符串.数字.元组等. 2)json的key可以是有序.重复的:d

  • Python中基础数据类型 set集合知识点总结

    集合的简介 集合是一个无序.不重复的序列 它的基本用法包括成员检测和消除重复元素 集合对象也支持像 联合,交集,差集,对称差分等数学运算 集合中所有的元素放在 {} 中间,并用逗号分开 集合的例子 这里会有个重点知识 # 声明 basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} print(basket) set_ = {1, 1, 1, 1, 2} print(set_) # 输出结果 {'orange', 'pe

  • 一篇文章带你了解python集合基础

    目录 1. 集合类型定义 (1)集合是多个元素的无序组合 2. 集合操作符 3. 集合处理方法 4. 集合类型应用场景 (1)包含关系比较 (2)数据去重:集合数据所有元素无重复 总结 1. 集合类型定义 (1)集合是多个元素的无序组合 集合类型与数学中的集合概念一致 集合元素之间无序,每个元素唯一,不存在相同元素 集合元素不可更改,不能是可变数据类型 集合使用{}表示,元素间用英文逗号分隔 建立集合类型用{}或set() 建立空集合类型,必须使用set() a = {'python',256,

  • python基础之set集合详解

    一.set 集合 集合(set)是一个无序的不重复元素序列. 可以使用大括号 {} 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典. 二.创建集合 print({"1", "2", "3"})  # {'2', '3', '1'} print(set("123"))  # {'2', '3', '1'} print(set((1, 2, 3)))  #

  • Python基础之time库详解

    一.前言 time库运行访问多种类型的时钟,这些时钟用于不同的场景.本篇,将详细讲解time库的应用知识. 二.获取各种时钟 既然time库提供了多种类型的时钟.下面我们直接来获取这些时钟,对比其具体的用途.具体代码如下: import time print(time.monotonic()) print(time.monotonic_ns()) print(time.perf_counter()) print(time.perf_counter_ns()) print(time.process

  • Python基础之元类详解

    1.python 中一切皆是对象,类本身也是一个对象,当使用关键字 class 的时候,python 解释器在加载 class 的时候会创建一个对象(这里的对象指的是类而非类的实例) class Student: pass s = Student() print(type(s)) # <class '__main__.Student'> print(type(Student)) # <class 'type'> 2.什么是元类 元类是类的类,是类的模板 元类是用来控制如何创建类的,

  • Python基础之字符串格式化详解

    一.前言 Python的字符串格式化有两种方式:百分号方式 和 format方式 百分号的方式相对来说比较老, format方式则是相对比较先进,企图替换古老的方式,目前两者都支持. 二.百分号 %[(name)][flags][width].[precision]typecode """ (name) 可选,用于选择指定的key flags 可选,可供选择的值有: + 右对齐:正数前加正好,负数前加负号: - 左对齐:正数前无符号,负数前加负号: 空格 右对齐:正数前加空格

  • Python基础之hashlib模块详解

    一.hashlib简介 1.什么叫hash: hash是一种算法(不同的hash算法只是复杂度不一样)(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法),该算法接受传入的内容,经过运算得到一串hash值 2.hash值的特点是(hash值/产品有三大特性:): 只要传入的内容一样,得到的hash值必然一样=====>要用明文传输密码文件完整性校验 不能由hash值返解成内容=======>把密码做成has

  • python基础之装饰器详解

    一.前言 装饰器:本质就是函数,功能是为其他函数添加附加功能 原则: 1.不修改被修饰函数的源代码 2.不修改被修饰函数的调用方式 装饰器 = 高阶函数 + 函数嵌套 + 闭包 二.高阶函数 高阶函数定义: 1.函数接收的参数是一个函数 2.函数的返回值是一个函数名 3.满足上述条件任意一个,都可以称为高阶函数 test 函数是高阶函数,接受了一个foo 作为参数 import time def foo(): time.sleep(3) print("sleep 3s") def te

  • Python基础之条件语句详解

    一.环境介绍 Python版本Python 3.8.8 ( Pycharm版本2021.1.2 二.条件判断介绍 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 语句块是在条件为真(条件语句)时执行或者执行多次(循环语句)的一组语句.在代码前放置空格来缩进语句即可创建语句块. 三.if语句的使用 1.if的第一种使用方法 对于if语句,若条件判定为真,那么后面的语句块就会被执行.若条件判定为假,语句块就会被跳过,不会执行. # 条件判断 # 第一

  • python基础之匿名函数详解

    目录 1.匿名函数介绍 2.语法 3.使用场景 4.匿名函数和普通函数的对比 5.匿名函数的多种形式 6.lambda 作为一个参数传递 7. lambda函数与python内置函数配合使用 8.lambda 作为函数的返回值 1.匿名函数介绍 匿名函数指一类无须定义标识符的函数或子程序.Python用lambda语法定义匿名函数,只需用表达式而无需申明. 在python中,不通过def来声明函数名字,而是通过 lambda 关键字来定义的函数称为匿名函数. lambda函数能接收任何数量(可以

  • Python基础-特殊方法整理详解

    目录 1.概述 2.常用特殊方法及实现 2.1 _len__() 2.2 __str__() 2.3 __iter__() 2.4 __getitem__() 2.5 __new__() 2.6 使用__new__()实现单例模式 2.7 __call__() 2.8__enter__() 2.9 __add__() 2.10 __del__() 1.概述 python中特殊方法(魔术方法)是被python解释器调用的,我们自己不需要调用它们,我们统一使用内置函数来使用.例如:特殊方法__len

  • Python 基础之字符串string详解及实例

    Python字符串(string) 详解 及 代码 Python的字符串可以使用单引号('), 双引号("), 三引号('''); 三引号(''')里面, 可以添加单引号和双引号, 也可以通过转义序列(\)添加; 字符串放在一起自动连接成为一个字符串; 字符串前面添加限定词R或r, 表示是自然字符串(nature string), 可以忽略里面的格式限制; 在物理行末尾添加"\", 可以连接下一个物理行; 括号, 方括号, 大括号也可以一定限度的扩充物理行; 具体参见代码注释

随机推荐