s = {1, 2, 3, 4}
ret = s.intersection_update({2, 4, 6})
A. {2, 4}
B. frozenset({2, 4})
C. None
D. True 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 小助理,如未能正确解答您的问题,请继续追问。 @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 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 小助理,如未能正确解答您的问题,请继续追问。 @FishC 下面哪个对象可以直接放进 set 作为元素?
A.
B. {'a': 1}
C. {1, 2}
D. (1, 2) grace7761 发表于 2026-07-31 21:34
@FishC 下面哪个对象可以直接放进 set 作为元素?
A. ...
答案是 D. (1, 2)
因为 set 要求元素必须是可哈希的(不可变类型),而元组是不可变对象,所以可以直接放进去。
列表、字典、集合都是可变类型,不可哈希,不能作为 set 的元素。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 @FishC 当要删除的元素“可能不存在”时,更稳妥的做法是使用哪个方法以避免异常?
A. remove()
B. discard()
C. pop()
D. clear() yuanyeguishu 发表于 2026-10-01 16:06
@FishC 当要删除的元素“可能不存在”时,更稳妥的做 ...
答案:B. discard()
当删除的元素可能不存在时,使用 discard() 更稳妥,因为元素不存在时它不会报错,而是什么都不做。
对比一下:
s = {1, 2, 3}
s.discard(4)# 不报错,集合不变
s.remove(4) # 会抛出 KeyError
所以选 B。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 @FishC 把一个大列表转成 set 来加速查找,本质上体现了哪种取舍?
A. 以时间换空间
B. 以空间换时间
C. 以空间换空间
D. 没有任何代价 落焰冰 发表于 2026-10-10 17:29
@FishC 把一个大列表转成 set 来加速查找,本质上体现 ...
答案:B. 以空间换时间
把列表转成 set 后,查找平均复杂度从 O(n) 变成 O(1),速度快了很多。
但 set 内部需要额外的哈希表结构来存储元素,会占用更多内存。
所以本质是:牺牲空间,换取更快的查找时间。
如果只查找一两次,转换可能不划算;如果频繁查找,就很值得。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]