[Python3] 015 冰冻集合的内置方法
0. 前言
英文名
- frozenset()
元素要求
- 必须是可哈希的
使用限制
- 有点像元组,不能随意增减自身的元素
- 要表示集合集,内部集合必须是冻结集合对象
返回
- 返回一个新的 set 或 frozenset 对象
- 如果不提供任何参数,则返回新的空集
方法数量
- 除去魔法方法,Python3.7 中 frozenset() 有 8 个内置方法
1. 如何查看 frozenset() 的内置方法
# 1.1
dir(frozenset)
# 1.2
dir(frozenset())
# 2.1
help(frozenset)
# 2.2
help(frozenset())
2. 少废话,上例子
2.1 copy()
- 释义:返回一个浅拷贝
- 示例
# 例 1
f1_1 = frozenset({1, 2, 3, 4, 5}) # 定义一个冰冻集合
f1_2 = f1_1.copy()
print("f1_1 =", f1_1)
print("f1_2 =", f1_2)
print("id(f1_1) =", f1_1)
print("id(f1_2) =", f1_2)
print("type(f1_1) =", type(f1_1))
print("type(f1_2) =", type(f1_2))
>>>
f1_1 = frozenset({1, 2, 3, 4, 5})
f1_2 = frozenset({1, 2, 3, 4, 5})
id(f1_1) = 1712784397480
id(f1_2) = 1712784397480
type(f1_1) = <class 'frozenset'>
type(f1_2) = <class 'frozenset'>
2.2 difference()
- 释义
- 将两个或更多集合的差异作为新集合返回
- 有些像概率论中的
A-B
- 示例
# 例 2
f2_1 = frozenset({1, 2, 3, 4, 5})
f2_2 = frozenset({1, 2, 3, 4, 5})
f2_3 = frozenset({1, 2, 3})
f2_4 = {1, 3, 5, 7, 9}
print(f2_1.difference(f2_2))
print(f2_1.difference(f2_3))
print(f2_3.difference(f2_1))
print(f2_1.difference(f2_4))
>>>
frozenset()
frozenset({4, 5})
frozenset()
frozenset({2, 4})
2.3 intersection()
- 释义
- 将两个集合的交集作为新集合返回
- 有些像概率论中的
A∩B
- 示例
# 例 3
f3_1 = frozenset({1, 2, 3, 4, 5})
f3_2 = frozenset({6, 7, 8, 9, 0})
f3_3 = frozenset({1, 2, 3})
f3_4 = {1, 3, 5, 7, 9}
print(f3_1.intersection(f3_2))
print(f3_1.intersection(f3_3))
print(f3_1.intersection(f3_4))
>>>
frozenset()
frozenset({1, 2, 3})
frozenset({1, 3, 5})
2.4 isdisjoint()
- 释义
- 如果两个集合的交集为空,则返回 True
- 否则,返回 False
- 示例
# 例 4
f4_1 = frozenset({1, 2, 3, 4, 5})
f4_2 = frozenset({6, 7, 8, 9, 0})
f4_3 = frozenset({1, 2, 3})
print(f4_1.isdisjoint(f4_2))
print(f4_1.isdisjoint(f4_3))
>>>
True
False
2.5 issubset()
- 释义
- 如果此集合是另一个集合的子集,则返回 True
- 否则,返回 False
- 示例
# 例 5
f5_1 = frozenset({1, 2, 3})
f5_2 = frozenset({0, 1, 2, 3, 4})
f5_3 = frozenset({2, 3, 4})
f5_4 = frozenset({4, 5, 6})
print(f5_1.issubset(f5_2))
print(f5_1.issubset(f5_3))
print(f5_1.issubset(f5_4))
>>>
True
False
False
2.6 issuperset()
- 释义
- 与 issubset() 相对
- 如果此集合完全包含另一个集合,则返回 True
- 否则,返回 False
- 示例
# 例 6
f6_1 = frozenset({0, 1, 2, 3, 4})
f6_2 = frozenset({1, 2, 3})
f6_3 = frozenset({3, 4, 5})
f6_4 = frozenset({5, 6, 7})
print(f6_1.issuperset(f6_2))
print(f6_1.issuperset(f6_3))
print(f6_1.issuperset(f6_4))
>>>
True
False
False
2.7 symmetric_difference()
- 释义:将两个集合的“对等差分”作为新集合返回
- 示例
# 例 7
f7_1 = frozenset({1, 2, 3, 4, 5})
f7_2 = frozenset({1, 2, 3, 4, 5})
f7_3 = frozenset({1, 2, 3})
f7_4 = {1, 3, 5, 7, 9}
print(f7_1.symmetric_difference(f7_2))
print(f7_1.symmetric_difference(f7_3))
print(f7_1.symmetric_difference(f7_4))
>>>
frozenset()
frozenset({4, 5})
frozenset({2, 4, 7, 9})
- difference() 输出的是自身与其它集合的不同之处
- symmetric_difference() 输出的是两个集合独有部分的并集
2.8 union()
- 释义:将集合的并集作为新集合返回
- 示例
# 例 8
f8_1 = frozenset({1, 2, 3, 4, 5})
f8_2 = frozenset({4, 5, 6, 7, 8})
f8_3 = {3, 5, 7, 9}
print(f8_1.union(f8_2))
print(f8_1.union(f8_3))
>>>
frozenset({1, 2, 3, 4, 5, 6, 7, 8})
frozenset({1, 2, 3, 4, 5, 7, 9})
[Python3] 015 冰冻集合的内置方法的更多相关文章
- day09-2 字典,集合的内置方法
目录 字典的内置方法 作用 定义方式 方法 优先掌握 需要掌握 存储一个值or多个值 有序or无序 可变or不可变 集合的内置方法 作用 定义方式 方法 存储一个值or多个值 有序or无序 可变or不 ...
- day07-列表类型/元组类型/字典类型/集合类型内置方法
目录 列表类型内置方法 元组类型内置方法 字典类型内置方法 集合类型内置方法 列表类型内置方法 用来存多个元素,[]内用逗号隔开任意数据类型的元素 1. list()强制类型转换 print(list ...
- [Python3] 014 集合的内置方法
目录 1. Python3 中如何查看 set() 的内置方法 2. 少废话,上例子 (1) add() (2) 又见清理大师 clear() (3) 又见拷贝君 copy() (4) 找茬君 dif ...
- Python3 常用的几个内置方法
目录 max()/min() filter() 过滤 map() 映射 sorted筛选 reduce()减少 max()/min() 传入一个参数 (可迭代对象), 返回这个可迭代对象中最大的元素 ...
- what's the python之基本运算符及字符串、列表、元祖、集合、字典的内置方法
计算机可以进行的运算有很多种,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.字符串和列表的算数运算只能用+和*,字典没有顺序,所以不能进行算数运算和比较运算.比较运算中= ...
- day007 列表类型、元祖类型、 字典类型、 集合类型的内置方法
目录 列表数据类型的内置方法 作用 定义方式 优先掌握的方法 需要掌握的方法 元祖类型的内置方法 作用 定义方式 优先掌握的方法(参考列表方法) 字典类型的内置方法 作用 定义方式 优先掌握的方法 需 ...
- python之字符串,列表,字典,元组,集合内置方法总结
目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...
- python常用数据类型内置方法介绍
熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...
- Python学习day08-python进阶(2)-内置方法
Python学习day08-python进阶(2)-内置方法 列表数据类型内置方法 作用 描述多个值,比如爱好 定义方法 xxxxxxxxxx 2 1 hobby_list ...
随机推荐
- muduo
https://blog.csdn.net/zxm342698145/article/details/80689016 https://blog.csdn.net/u010087886/article ...
- Linux内核简介、子系统及分类
一.内核简介 内核:在计算机科学中是一个用来管理软件发出的数据I/O(输入与输出)要求的计算机程序,将这些要求转译为数据处理的指令并交由中央处理器(CPU)及计算机中其他电子组件进行处理,是现代操作系 ...
- AtomicReference和AtomicStampedReference
AtomicReference类提供了一个可以原子读写的对象引用变量. 原子意味着尝试更改相同AtomicReference的多个线程(例如,使用比较和交换操作)不会使AtomicReference最 ...
- php内置函数分析之array_diff_assoc()
static void php_array_diff_key(INTERNAL_FUNCTION_PARAMETERS, int data_compare_type) /* {{{ */ { uint ...
- BZOJ4625 [BJOI2016]水晶 最小割
题意简述 给你一个三维的坐标系,坐标系上 \((x_i+y_i+z_i)\bmod 3 = 0\) 的点内有能量源.给定 \(n\) 个点含有能量值为 \(c_i\) 的水晶,如果一个水晶位于能量源上 ...
- python数组中在某一元素前插入数据
# 已知有一个已经排好序的数组.要求是,有一个新数据项,要求按原来的规律将它插入数组中. a=[1,2,3,4,5,6,7,8,9]num=int(input("input num:&quo ...
- 并行操作多个序列map
>>> def add1(a): return a + 1 >>> def add2(a,b): return a + b >>> def add ...
- Python---面向对象编程---自定义列表和集合操作类
一.定义一个列表的操作类Listinfo 包括的方法 1.列表元素添加:add_key() 添加的必须是数字或者是字符串 2.列表元素取值:get_key() 3.列表合并:update_list( ...
- Java日期时间以及日期相互转换_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 Java日期时间,以及相互转化,供大家参考,具体内容如下 package com.study.string; impor ...
- CSS伪元素选择器和属性选择器
伪元素 能使用伪元素来选择元素中的一些特殊位置 一.给段落定义样式 :first-letter 首字母(只能用于块元素) :first-line 第一行 1.为p元素中的第一个字符设置颜色为黄色, ...