子飞鱼 发表于 2023-4-10 16:42:01

求教为什么列表实例用具体的列表方法后,返回None

求教为什么列表实例用具体的列表方法后,返回None
例如
a = .append(5)

a 此时为None

但是
a =
a.append(5)

返回

这是为什么呢?

dolly_yos2 发表于 2023-4-10 16:45:29

您自己都说了,是返回值的问题,这个接口就是这样定义的

isdkz 发表于 2023-4-10 16:45:45

这个现象的原因是因为Python中的列表方法(如append())通常直接修改原始列表而不是返回一个新的列表。

在第一个例子中:

a = .append(5)

这里发生的事情是:首先创建了一个列表 ,然后调用了它的 append() 方法,将 5 添加到这个列表。append() 方法的返回值是 None,表示它没有返回任何值。因此,a 被赋值为 None。

在第二个例子中:

a =
a.append(5)

这里首先创建了一个列表 并将其赋值给变量 a。然后,调用 a 的 append() 方法,将 5 添加到这个列表。由于 append() 方法直接修改了原始列表,所以在执行这个方法后,a 的值变为了 。

所以,当你需要使用列表方法时,要注意它们通常会直接修改原始列表而不是返回一个新列表。如果你需要保留原始列表的值,可以考虑使用其它方法,如列表解析、copy() 方法等。

页: [1]
查看完整版本: 求教为什么列表实例用具体的列表方法后,返回None