首页Python【Python内置函数】f...

【Python内置函数】frozenset()函数

Python 提供了许多内置函数,这些函数是Python语言的一部分,可以直接在Python程序中使用而无需导入任何模块。

本系列将会陆续整理分享一些的Python内置函数。

文章配套代码获取有以下两种途径:
  • 通过百度网盘获取:
链接:https://pan.baidu.com/s/11x9_wCZ3yiYOe5nVcRk2CQ?pwd=mnsj 提取码:mnsj
  • 前往GitHub获取
https://github.com/returu/Python_built-in_functions





01
简介

frozenset()函数用于创建不可变集合(frozenset)对象。frozenset不仅仅是一个函数,它也是一个。当调用frozenset(iterable)时,实际上是在创建frozenset类的一个实例。作为一个类,它有自己的方法和属性,类似于其他数据结构(如 setlisttuple 和 dict)。
frozenset与普通集合(set)共享许多方法和行为,不同的是frozenset是不可变的,这意味着一旦创建,它的内容不能被修改(不能添加、删除或修改元素)。由于其不可变性,frozenset可以作为字典的键(key)或集合的元素,而普通的集合则不能。通过frozenset对象Python提供了一种安全、高效的方式来处理不可变的集合需求。
有关frozenset的更多信息,包括其方法和属性,可以查阅官方文档:
https://docs.python.org/3/library/stdtypes.html#frozenset
frozenset() 函数的基本语法如下:
frozenset(iterable=set())
参数说明:
  • iterable:可以是任何可迭代对象,例如列表、元组、字典、字符串等。

返回值:

frozenset() 函数返回一个frozenset对象,如果不传递参数,将创建一个空的frozenset

02
使用

下面是一些使用 frozenset() 函数的示例:

  • 示例 1:基本使用

从可迭代对象创建frozenset对象。

# 创建空的 frozenset
empty_frozenset = frozenset()
print(empty_frozenset)  # 输出:frozenset()

# 从集合创建 frozenset
my_set = {4, 5, 6}
frozenset_from_set = frozenset(my_set)
print(frozenset_from_set)  # 输出: frozenset({4, 5, 6})

# 从列表创建 frozenset
my_list = [1, 2, 3, 4, 5]
frozenset_from_list = frozenset(my_list)
print(frozenset_from_list)  # 输出:frozenset({1, 2, 3, 4, 5})

# 从字符串创建 frozenset
my_string = "hello"
frozenset_from_string = frozenset(my_string)
print(frozenset_from_string)  # 输出:frozenset({'e', 'h', 'l', 'o'})

# 从字典创建 frozenset
my_dict = {"a": 1, "b": 2, "c": 3}
frozenset_from_dict = frozenset(my_dict)
print(frozenset_from_dict)  # 输出:frozenset({'c', 'a', 'b'})


  • 示例 2:不可变性示例

尝试修改frozenset会引发AttributeError

# 尝试修改 frozenset 会导致错误
my_frozenset = frozenset([1, 2, 3])
my_frozenset.add(4)  
# 报错:AttributeError: 'frozenset' object has no attribute 'add'


  • 示例 3:使用场景

frozenset因其不可变性可用作字典的键或其他集合的元素。

# 作为字典的键
d = {frozenset([1, 2]): "value1", frozenset([3, 4]): "value2"}
print(d[frozenset([1, 2])])  # 输出: value1

# 作为集合的元素
s = {frozenset([1, 2]), frozenset([3, 4])}
print(s)  # 输出: {frozenset({3, 4}), frozenset({1, 2})}

本篇文章来源于微信公众号: 码农设计师

RELATED ARTICLES

欢迎留下您的宝贵建议

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Recent Comments