我有一个返回列表的函数:
def get_all_newids() -> list:
return list(group_dict.values())
当我试图在赋值时附加此列表时,它赋值None
:
grpids = get_all_newids().append('42') # None
如果我在作业后追加,一切都会按预期进行:
grpids = get_all_newids()
grpids.append('42') # ['33', '42']
只是想知道为什么会这样。有什么办法可以在一个班轮里做到这一点吗?你知道吗
Tags:
@eumiro提供了一个解决方案,但是没有得到回答:
因为在Python中“mutating”方法返回
None
是惯用的(尽管不是通用的),因为没有很好的理由让它们返回某些东西(例如pop
如果它不返回它弹出的值,那么它的用处会小得多)。你知道吗append
将项添加到列表中,并且不返回任何内容,因为追加没有内在的返回值。同样地extend
、insert
、remove
、reverse
或sort
。你知道吗您可以在一行中完成:
相关问题 更多 >
编程相关推荐