繁体   English   中英

有人可以解释为什么这个 function 返回 None 吗?

[英]Can someone explain why this function returns None?

我一直在试图弄清楚为什么这个 function 每次运行时都没有返回,如果有人能解释我的原因,我将不胜感激。

x = set([1,2,3])

def inserta(multiconjunto, elemento):
   
   a = multiconjunto.add(elemento)
   
   return a

mc1 = inserta(x, 2)
print(mc1)

它返回 none 因为set.add()返回Noneadd()方法修改集合,它不返回新集合。

没有理由把这么简单的操作放在你自己的 function 中,如果你坚持你可以这样做的话:

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}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM