为什么当我使用append(), sort(), insert(),不可以将改变后的列表储存在一个新的变量中呢

l=["you",'are','a','pig']
_l=l.append('how')
print(_l)
这样输出结果为None
为什么会得到这样的输出?

append,sort,insert都是list对象的方法,这些方法的返回值是None。关于变量,和C或Java不太一样,我拿你最开始的一行代码举例,l=【】,这里的l和【】都会放到内存里,对于赋值号的处理,是将l指向【】。你理解成通过l来间接访问【】列表也可以,如果再写一句q=l,这个时候q会被保存到内存里,然后让q指向l指向的地方,也就是q和l都指向【】列表,无论你通过l改变列表,还是q,一改具改。
所以输出结果为None,是因为那几个方法的返回值是None,变量和数据的关系只是指向,不像C里面将一个值放到一个变量所代表的的内存空间处。有些绕,自行理解。