python中frozenset函数的功能
时间: 2024-02-28 20:57:16 浏览: 18
在Python中,`frozenset()`函数用于创建一个不可变的集合(frozenset),它和`set()`函数的功能类似,都是用于创建集合数据类型。不同之处在于,`frozenset()`函数创建的集合是不可变的,一旦创建就无法修改,而`set()`函数创建的集合是可变的。
`frozenset()`函数可以接受一个可迭代对象作为参数,例如列表、元组、字符串等,它会将可迭代对象中的元素添加到集合中,并自动去除重复元素。例如:
```python
s = frozenset([1, 2, 3, 2, 1])
print(s) # 输出 frozenset({1, 2, 3})
```
上面的代码中,我们使用`frozenset()`函数创建了一个包含整数1、2、3的不可变集合对象。由于列表中包含重复元素,因此在创建集合时会自动去除重复元素。
和`set()`函数类似,`frozenset()`函数还可以用于将其他数据类型转换为不可变集合类型。例如,我们可以使用`frozenset()`函数将字符串转换为不可变集合类型,以便进行集合操作,例如求并集、交集等。例如:
```python
s1 = frozenset('hello')
s2 = frozenset('world')
print(s1) # 输出 frozenset({'l', 'e', 'h', 'o'})
print(s2) # 输出 frozenset({'l', 'r', 'd', 'w', 'o'})
print(s1 | s2) # 输出 frozenset({'h', 'd', 'r', 'e', 'w', 'l', 'o'})
print(s1 & s2) # 输出 frozenset({'l', 'o'})
```
上面的代码中,我们首先使用`frozenset()`函数将字符串转换为不可变集合类型,然后使用`|`和`&`操作符分别求出集合的并集和交集。由于集合是不可变的,因此无法修改集合的内容。