按理來說這幾個函數再簡單不過了,早就應該爛熟於心了。可是,
最近經常用這幾個函數,但是總是用混淆,這裏再囉嗦總結一下,這弱智的使用。
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']