按理来说这几个函数再简单不过了,早就应该烂熟于心了。可是,
最近经常用这几个函数,但是总是用混淆,这里再啰嗦总结一下,这弱智的使用。
reverse():
将列表中元素反转排序,比如下面这样
>>> x = [1,5,2,3,4]
>>> x.reverse()
>>> x
[4, 3, 2, 5, 1]
>>>
>>>x = x.reverse()
>>>x
None
x = x.reverse()这样的做法是不对的,因为这样处理的话得到的并不是直接的列表反转值,而是一个None,所以只需直接在原列表进行反转就行。
sort()排序方法:
(1)sorted()方法使用
需要注意以下几点:
(1)sort()对列表内容进行正向排序;
(2)排序后的新列表会覆盖原列表(id不变),也就是sort排序方法是直接修改原列表list排序方法;
(3)使用方法是a.sort(),不需要再a = a.sort(),如果这样处理的话,print a得到的值依然是None。
>>> a = [5,7,6,3,4,1,2]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5, 6, 7]
对sort()方法比较糊涂。有的时候会需要一个排序好的列表,而又想保存原有未排序列表,他们会这么操作:
>>> a = [5,7,6,3,4,1,2]
>>> b = a.sort()
>>> print b
None
>>>
>>>a = a.sort()
>>>print a
None
这个时候问题出现了,变量a和b得到的都是一个空值。所以在使用的过程中一定是a.sort()。不是a = a.sort()或者b=a.sort()。
这只是正向的输出,那么逆向的输出呢?
(2)sort()排序反转
反向输出的时候:
>>>a.sort(reverse = True)
>>>a
[7,6,5,4,3,2,1]
那么想要得到排序好的列表,又想保留原列表怎么办呢?列表sorted()方法可以帮你实现。
sorted()方法
(1)sorted()方法使用
即可以保留原列表,又能得到已经排序好的列表sorted()操作方法如下:
>>> a = [5,7,6,3,4,1,2]
>>> b = sorted(a)
>>> a
[5, 7, 6, 3, 4, 1, 2]
>>> b
[1, 2, 3, 4, 5, 6, 7]
(2)sorted()排序反转
反向输出的时候:
方法1:
>>>b = sorted(a, reverse = True)
>>>b
[7,6,5,4,3,2,1]
或者方法2:
>>>b= sorted(a)
>>>b.reverse()
>>>b
[7,6,5,4,3,2,1]
(3)sorted()处理其他类型数据
sorted()方法可以用在任何数据类型的序列中,返回的总是一个列表形式:
>>> sorted('iplaypython.com')
['.', 'a', 'c', 'h', 'i', 'l', 'm', 'n', 'o', 'o', 'p', 'p', 't', 'y', 'y']