我一直在试图弄清楚为什么这个函数每次运行时都返回 None,如果有人能解释我的原因,我将非常感激。
x = set([1,2,3])
def inserta(multiconjunto, elemento):
a = multiconjunto.add(elemento)
return a
mc1 = inserta(x, 2)
print(mc1)
它不返回任何内容,因为
set.add()
返回None
,add()
方法修改了集合,它不返回新集合。
没有理由将如此简单的操作放入您自己的函数中,但如果您坚持这样做:
x = set([1,2,3])
def inserta(multiconjunto, elemento):
multiconjunto.add(elemento)
inserta(x, 2)
print(x)
如果您出于某种原因想退回一套新的,那么:
x = set([1, 2, 3])
def inserta(multiconjunto, elemento):
new_set = set(multiconjunto)
new_set.add(elemento)
return new_set
mc1 = inserta(x, 5)
print(mc1)
print(x)
应该可以解决问题。它输出
{1, 2, 3, 5}
{1, 2, 3}