sort()是可變對象(字典、列表)的方法,無參數,無返回值,sort()會改變可變對象,因此無需返回值。sort()方法是可變對象獨有的方法或者屬性,而作爲不可變對象如元組、字符串是不具有這些方法的,如果調用將會返回一個異常。
代碼如下:
>>> a=[5,4,3,2,1]
>>> a.sort()
>>>
>>> a
[1, 2, 3, 4, 5]
>>> 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]
>>> 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
>>> 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]
>>> 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]