python中list的两个无返回值函数

        list是python中一个比较常用的数据结构,相当于其它语言的数据,list有很多方法,但是有的方法有返回值,有的没有返回值,因为多数情况下我调用函数的时候,习惯的认为函数会有返回值,但是如果突然出来个无返回值的,就会导致接收返回值的变量为None,从而导致后面的计算错误。

        今天就遇到一个方法,那就是extend,这个方法的功能是合并两个list,但是合并后并不是返回合并后的值,而是直接影响调用这个方法的list。代码如下

l1 = [1,2,3]
l2 = [4,5,6]
l3 = l1.extend(l2)
l3,l1

结果 

(None, [1, 2, 3, 4, 5, 6])

可以看到,l3的值是None,l1的值是合并后的列表。

还有一个函数,sort,这个结果差不多,都是直接影响调用者的值,而不是生成一个新的排序的列表返回。比如

l1 = [3,2,1]
l2 = l1.sort()
l2,l1

结果

(None, [1, 2, 3])

所以,遇到这种没返回值的函数要注意一下。

猜你喜欢

转载自blog.csdn.net/zy1620454507/article/details/132639763