我认为没有内置的方法可以做到这一点。您当然可以编写自己的函数:
def do_add(s, x): l = len(s) s.add(x) return len(s) != ls = set()print(do_add(s, 1))print(do_add(s, 2))print(do_add(s, 1))print(do_add(s, 2))print(do_add(s, 4))
或者,如果您更喜欢神秘的一线客:
def do_add(s, x): return len(s) != (s.add(x) or len(s))
(这取决于从左到右的评估顺序以及
set.add()始终返回的事实
None,这是错误的。)
除了所有这些,我只会考虑如果双重哈希/查找显然是性能瓶颈, 并且 如果使用函数明显更快 , 则考虑这样做。



