2.3.3 列表方法
目录
8. reverse
reserve方法将列表中的元素反向存放
>>> x = [1,2,3]
>>> x.reverse()
>>> x
[3, 2, 1]
Ps:该方法也改变了列表但不返回值(像remove和sort,目前只遇到pop()会返回值)
提示:如果需要对一个序列进行反向迭代,就可以使用reversed函数,这个函数并不返回一个列表,而是返回一个迭代器(iterator)对象。尽管如此,采用list函数把返回的对象转换成列表也是可行的。
>>> x = [1,2,3]
>>> list(reversed(x))
[3, 2, 1]
如果使用x.reversed():报错了
>>> reversed(x)
<listreverseiterator object at 0x7ff33650e450> #返回一个迭代器对象listreverseiterator
9. sort
Sort方法用于在原位置对列表进行排序。在“原位置排序”意味着改变原来的列表,从而让其中的元素能按一定的顺序排列,而不是简单地返回一个已排序的列表副本。
>>> x = [4,6,2,1,7,9]
>>> x.sort()
>>> x
[1, 2, 4, 6, 7, 9]
前面的append、insert、remove等不返回值的方法,在大多数情况下这样的方式是很合常理的。但是sort方法的这种行为要重点讲解一下,因为很多人被sort方法弄糊涂了:当用户需要一个排好序的列表副本,同时又保留原有列表不变的时候,问题就出现了。为了实现这个功能,我们自然而然想到了下列做法(实际是错误的)
>>> x = [4,6,2,1,7,9]
>>>