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

备考刷题,请到

CDA认证小程序

下列说法正确的是
A. 集合可变,冻集合可变
B. 集合不可变,冻集合可变
C. 集合可变,冻集合不可变
D. 集合不可变,冻集合不可变
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

正确答案是:C: 集合可变,冻集合不可变。

### 分析:

- **集合(set)**:
- **可变性**:集合是可变的数据结构,这意味着你可以在集合创建后,添加或删除其中的元素。
- **操作**:常见的操作包括 `.add()` 方法来添加元素,`.remove()` 或 `.discard()` 方法来删除元素。

- **冻集合(frozenset)**:
- **不可变性**:冻集合是集合的一种不可变版本。一旦创建,就不能再对其进行任何修改(比如添加或删除元素)。
- **用途**:由于不可变性,冻集合可以用作字典的键或者存储在其他集合中。

### 表格对比:

| 特性 | 集合(set) | 冻集合(frozenset) |
|-----------|---------------|---------------------|
| 可变性 | 可变 | 不可变 |
| 元素添加 | 支持 `.add()` | 不支持 |
| 元素删除 | 支持 `.remove()` / `.discard()` | 不支持 |
| 用作字典键| 否 | 是 |
| 存储在集合中 | 否 | 是 |

这种设计的主要目的在于满足不同应用场景下的需求:当需要一个动态的、可以修改的集合时使用 `set`,而在需要保证集合不被篡改的场景下(如字典的键),则使用 `frozenset`。