考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

下列说法正确的是
A. 冻集合既支持集合修改方法,也支持集合运算方法
B. 冻集合不支持集合修改方法,但支持集合运算方法
C. 冻集合支持集合修改方法,但不支持集合运算方法
D. 冻集合既不支持集合修改方法,也不支持集合运算方法
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

正确答案是:B: 冻集合不支持集合修改方法,但支持集合运算方法。

### 分析:

在 Python 中,`frozenset` 是一种不可变的集合。以下是对其特性的详细分析:

- **不可变性**:
- `frozenset` 一旦创建,就不能被修改,这意味着它不支持任何会改变集合内容的方法,例如 `add()`、`remove()` 等修改方法。

- **集合运算**:
- 尽管 `frozenset` 不可变,但它仍然支持所有标准的集合运算方法,例如并集、交集、差集和对称差集。这些运算不会修改原有集合,而是返回一个新的集合。因此,`frozenset` 可以用于需要集合运算而不改变原始数据的场合。

### 表格展示:

| 方法类型 | 支持情况 | 说明 |
|---------------|-------------------|----------------------------------------|
| 集合修改方法 | 不支持 | 无法通过方法如 `add()`、`remove()` 来修改 |
| 集合运算方法 | 支持 | 支持 `union()`、`intersection()` 等运算 |

### 示例代码:

```python
# 创建两个冻结集合
fs1 = frozenset([1, 2, 3])
fs2 = frozenset([3, 4, 5])

# 进行集合运算
union_set = fs1.union(fs2)
intersection_set = fs1.intersection(fs2)

print("Union:", union_set) # 输出: frozenset({1, 2, 3, 4, 5})
print("Intersection:", intersection_set) # 输出: frozenset({3})
```

在此代码中,尽管 `frozenset` 不可变,但我们可以通过 `union()` 和 `intersection()` 等方法进行集合运算,返回新的 `frozenset` 实例。