我有一个返回列表的函数:
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']
只是想知道为什么会这样。并且有什么方法可以做到这一点吗?
答案 0 :(得分:2)
您可以一行完成:
grpids = get_all_newids() + ['42']
答案 1 :(得分:1)
@eumiro提供了一个解决方案,但是没有得到答案:
只是想知道为什么会这样。
因为在没有很好的理由返回变量时(例如None
,Python中“变异”方法返回pop
是很习惯的(尽管不是通用的)如果它没有返回弹出的值)。
append
将一个项目添加到列表,但不返回任何内容,因为没有附加的内在返回值。同样,extend
,insert
,remove
,reverse
或sort
。