编写一个叫做 chop
的函数,接受一个列表作为参数,移除第一个和最后一个元素,并返回None。例如:
>>> t = [1, 2, 3, 4]
>>> chop(t)
>>> t
[2, 3]
分析:
一顿操作猛如虎:(错的)
|
|
为什么t1没变化?是我列表切片用错了吗,再试试:(还是错的)
|
|
可以看到,t1还是没变化,为什么?为什么这样是错的?
不要被迷惑了,当一个列表t1传递给一个函数时,t1和形参t共同指向同一个列表,但当函数内部t重新赋值后,t指向了一个新的列表,而t1依然指向原来的列表,那么当函数运行结束后,t1的值当然还是原来的啦。
由于题目要求函数不能有返回值,可以使用下面的做法:
|
|
如果函数可以有返回值,可以这样写:
|
|