我认为没有内置的方法可以做到这一点。您当然可以编写自己的函数:
def do_add(s, x):
l = len(s)
s.add(x)
return len(s) != l
s = 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
,这是错误的。)