欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

[Python3] 015 冰冻集合的内置方法

发布时间:2023/12/20 python 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 [Python3] 015 冰冻集合的内置方法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

目录

  • 0. 前言
    • 英文名
    • 元素要求
    • 使用限制
    • 返回
    • 方法数量
  • 1. 如何查看 frozenset() 的内置方法
  • 2. 少废话,上例子
    • 2.1 copy()
    • 2.2 difference()
    • 2.3 intersection()
    • 2.4 isdisjoint()
    • 2.5 issubset()
    • 2.6 issuperset()
    • 2.7 symmetric_difference()
    • 2.8 union()

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})

转载于:https://www.cnblogs.com/yorkyu/p/10290735.html

总结

以上是生活随笔为你收集整理的[Python3] 015 冰冻集合的内置方法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。