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

备考刷题,请到

CDA认证小程序

下列哪一个语句的返回结果不是frozenset({1, 2, 3})?
A. frozenset([1,2,3])
B. frozenset((1,2,3))
C. frozenset({{1,2,3}})
D. frozenset({1,2,3})
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

要分析哪个选项不会返回 `frozenset({1, 2, 3})`,我们需要理解 `frozenset` 的构造规则。`frozenset` 是 Python 的一种不可变集合,接受一个可迭代对象并将其转换为不可变集合。

让我们逐一分析选项:

- **A: `frozenset([1, 2, 3])`**
- `frozenset` 接受列表 `[1, 2, 3]`,将其转换为 `frozenset({1, 2, 3})`。

- **B: `frozenset((1, 2, 3))`**
- `frozenset` 接受元组 `(1, 2, 3)`,将其转换为 `frozenset({1, 2, 3})`。

- **C: `frozenset({{1, 2, 3}})`**
- 这段代码是错误的,因为 `{1, 2, 3}` 是一个可变集合,Python 集合不允许嵌套可变集合(集合的元素必须是可哈希的)。所以,这会引发 `TypeError`,无法返回 `frozenset({1, 2, 3})`。

- **D: `frozenset({1, 2, 3})`**
- `frozenset` 直接接受集合 `{1, 2, 3}`,将其转换为 `frozenset({1, 2, 3})`。

因此,选项 **C** 是返回结果不是 `frozenset({1, 2, 3})` 的正确答案,因为这段代码会导致错误,而不会返回有效的 `frozenset`。