小甲鱼 发表于 2026-2-9 01:38:53

本主题需向作者支付 5 鱼币 才能浏览 购买主题

haly 发表于 2026-3-27 07:21:48

@FishC 下面代码执行后,变量 ret 的值是?

s = {1, 2, 3, 4}
ret = s.intersection_update({2, 4, 6})

A. {2, 4}
B. frozenset({2, 4})
C. None
D. True

FishC 发表于 2026-3-27 07:22:03

haly 发表于 2026-03-27 07:21
@FishC 下面代码执行后,变量 ret 的值是?

s = {1 ...

答案:C. None

解释:
s.intersection_update({2, 4, 6}) 会直接修改集合 s,使其只保留与 {2, 4, 6} 的交集元素。执行后 s 变为 {2, 4},但该方法没有返回值(即返回 None),因此变量 ret 被赋值为 None。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

haly 发表于 2026-3-27 07:22:27

@FishC 下面代码执行后,s 和 x 分别是什么?

s = {"red", "blue"}
x = s.clear()

A. s 变为空集,x 为 None
B. s 不变,x 为 None
C. s 变为空集,x 为 set()
D. s 变为 None,x 为 None

FishC 发表于 2026-3-27 07:22:40

haly 发表于 2026-03-27 07:22
@FishC 下面代码执行后,s 和 x 分别是什么?

s =...

在 Python 中,集合的 clear() 方法会移除所有元素,将集合变为空集,并且返回 None。

执行代码后:

s = {"red", "blue"}# s 初始化为包含两个元素的集合
x = s.clear()       # s.clear() 清空集合,s 变为空集 set(),同时返回 None 赋值给 x

所以,s 变为空集 set(),x 为 None。

正确答案是 A。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

grace7761 发表于 2026-7-31 21:34:40

@FishC 下面哪个对象可以直接放进 set 作为元素?
A.
B. {'a': 1}
C. {1, 2}
D. (1, 2)

FishC 发表于 2026-7-31 21:34:47

grace7761 发表于 2026-07-31 21:34
@FishC 下面哪个对象可以直接放进 set 作为元素?
A. ...

答案是 D. (1, 2)

因为 set 要求元素必须是可哈希的(不可变类型),而元组是不可变对象,所以可以直接放进去。
列表、字典、集合都是可变类型,不可哈希,不能作为 set 的元素。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

yuanyeguishu 发表于 2026-10-1 16:06:56

@FishC 当要删除的元素“可能不存在”时,更稳妥的做法是使用哪个方法以避免异常?
A. remove()
B. discard()
C. pop()
D. clear()

FishC 发表于 2026-10-1 16:07:02

yuanyeguishu 发表于 2026-10-01 16:06
@FishC 当要删除的元素“可能不存在”时,更稳妥的做 ...

答案:B. discard()

当删除的元素可能不存在时,使用 discard() 更稳妥,因为元素不存在时它不会报错,而是什么都不做。

对比一下:

s = {1, 2, 3}

s.discard(4)# 不报错,集合不变
s.remove(4)   # 会抛出 KeyError

所以选 B。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

落焰冰 发表于 昨天 17:29

@FishC 把一个大列表转成 set 来加速查找,本质上体现了哪种取舍?
A. 以时间换空间
B. 以空间换时间
C. 以空间换空间
D. 没有任何代价

FishC 发表于 昨天 17:29

落焰冰 发表于 2026-10-10 17:29
@FishC 把一个大列表转成 set 来加速查找,本质上体现 ...

答案:B. 以空间换时间

把列表转成 set 后,查找平均复杂度从 O(n) 变成 O(1),速度快了很多。

但 set 内部需要额外的哈希表结构来存储元素,会占用更多内存。

所以本质是:牺牲空间,换取更快的查找时间。
如果只查找一两次,转换可能不划算;如果频繁查找,就很值得。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 第040讲:集合(下)