Python列表_参数

当你传递一个列表给一个函数的时候,函数得到的是对该列表的一个引用。如果函数修改了列表,调用者会看到变化的。比如下面这个 delete_head 函数就从列表中删除第一个元素:

$ cat c.py

#!/bin/python

def delete_head(t):

    del t[0]

    return t

letters = [10, 20, 30]

print(delete_head(letters))

$ python3 c.py

[20, 30]

形式参数 t 和变量 letters 都是同一对象的别名。

因为这个列表被两个框架所公用,所以把它画在了它们之间。

一定要区分修改列表的运算和产生新列表的运算,这特别重要。

比如 append 方法是修改一个列表,

>>> t1 = [1, 2]

>>> t2 = t1.append(3)

>>> t1

[1, 2, 3]

但加号+运算符是产生一个新的列表: 

>>> t3 = t1 + [4]

>>> t1

[1, 2, 3]

>>> t3

[1, 2, 3, 4]

加号+运算符创建了新的列表t3,但并不修改源列表t1。

结束。 

posted @ 2020-06-24 20:05  巴州夜雨  阅读(367)  评论(0编辑  收藏  举报