python 笔记
列表的一些问题
列表是可变对象,字符串为不可变对象。
当列表作为函数的参数时,函数定义中的形参为实参的别名,函数内部对形参的改变对体现到实参中,但是新建列表对形参的赋值并不会改变实参。
def bad_delete(t):
t=t[1:]
以上函数并不能实现去掉一个列表的头元素的效果,原因在于t[1:]新建了一个列表。
另外有些列表的方法和字符串是通用的,但是由于一个是不可变一个是可变,对于字符串方法通常会返回一个新字符串,二不改变原始字符串。
t=t.sort()
对于列表上述方法返回None导致赋值失败。
sort与sorted
sort 修改列表,sorted 新建列表。目前sorted在python2.7版本貌似不存在。
网友评论