python中sort sorted() reverse() reversed() 的區別

sort()是可變對象(字典、列表)的方法,無參數,無返回值,sort()會改變可變對象,因此無需返回值。sort()方法是可變對象獨有的方法或者屬性,而作爲不可變對象如元組、字符串是不具有這些方法的,如果調用將會返回一個異常。

代碼如下:

>>> a=[5,4,3,2,1]
>>> a.sort()
>>>
>>> a
[1, 2, 3, 4, 5]

sorted()是python的內置函數,並不是可變對象(列表、字典)的特有方法,sorted()函數需要一個參數(參數可以是列表、字典、元組、字符串),無論傳遞什麼參數,都將返回一個以列表爲容器的返回值,如果是字典將返回鍵的列表。

代碼如下:
>>> mystring="54321"
>>> mytuple=(5,4,3,2,1)
>>> mylist=[5,4,3,2,1]
>>> sorted(mystring)
['1', '2', '3', '4', '5']
>>> sorted(mytuple)
[1, 2, 3, 4, 5]
>>> sorted(mylist)
[1, 2, 3, 4, 5]

reverse()與sort的使用方式一樣,而reversed()與sorted()的使用方式相同
 

代碼如下:
>>> mylist=[5,4,3,2,1]
>>> mylist.reverse()
>>> mylist
[1, 2, 3, 4, 5]
>>> mylist=[5,4,3,2,1]
>>> for i in reversed(mylist):
...     print i,
...
1 2 3 4 5


這裏需要注意的是:
本函數是返回序列seq的反向訪問的迭代子。


通過序列的切片也可以達到“逆轉”的效果

代碼如下:

>>> mystring="54321"
>>> mytuple=(5,4,3,2,1)
>>> mylist=[5,4,3,2,1]
>>> mystring[::-1]
'12345'
>>> mytuple[::-1]
(1, 2, 3, 4, 5)
>>> mylist[::-1]
[1, 2, 3, 4, 5]







發佈了32 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章