列表实战——就地改变列表——列表方法调用

未匹配的标注

和字符串一样,Python的列表对象还支持特定类型的方法调用,许多方法都是就地修改被作用列表:

>>> L = ['eat', 'more', 'SPAM!']
>>> L.append('please') # Append method call: add item at end
>>> L
['eat', 'more', 'SPAM!', 'please']
>>> L.sort() # Sort list items ('S' < 'e')
>>> L
['SPAM!', 'eat', 'more', 'please']

方法第7章被引入。简言之,它们是联系和作用于特定对象的函数(其实是引用函数的对象属性)。方法提供了特定类型的工具;比如,这里出现的列表方法通常只对列表可用。

可能最常使用的列表方法是append,它简单地将单个项(对象引用)添加到列表末尾。不像连接,append期待传入一个单对象,而非一个列表。L.append(X)的效果类似于L+[X],但前者就地修改L,而后者创建一个新列表[20]。这里的sort方法将列表的项进行排序,但它值得享有自己单独的一节。


Note20

不像 + 连接,append不必产生新对象,所以它通常比+更快。还可以使用前一节中聪明的切片赋值来模拟appendL[len(L):] = [X] 就像 L.append(X)L[:0]=[X]就像在列表前追加。这两个操作都删除空切片并插入 X,快速地就地修改L,像append一样。然而,两个都有争议地比列表方法更复杂。比如,L.insert(0,X)也能在列表前追加一项,而且似乎明显更易记;L.insert(len(L), X)也在末尾插入一个对象,但除非你喜欢打字,最好还是使用 L.append(X)

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 查看所有版本


暂无话题~