sorted是python的內建函數,並不是可變物件(列表、字典)的特有方法,sorted()函數需要一個參數(參數可以是列表、字典、元組、字串),無論傳遞什麼參數,都會傳回以列表為容器的回傳值,如果是字典將傳回鍵的列表。
list:(推薦學習:Python影片教學)
>>> a = [4,3,7,8] >>> sorted(a) [3, 4, 7, 8] >>> a [4, 3, 7, 8]
即sorted會返會一個list副本,同時將原來list的值改變了可將這個回傳的值賦給其他變數。
dict:
>>> b = {1:'ab',2:'degg',4:'ght',9:'d'} >>> sorted(b) [1, 2, 4, 9] >>> b {1: 'ab', 2: 'degg', 4: 'ght', 9: 'd'}
即sorted(dict)時,是依照key排序,同時將key傳回成一個清單。
或指定排序的條件:
>>> b = {1:'ab',2:'degg',4:'ght',9:'d'} >>> sorted(b.items(),key=lambda i:i[0]) #指定按字典里面的键排序 [(1, 'ab'), (2, 'degg'), (4, 'ght'), (9, 'd')] >>> >>> >>> sorted(b.items(),key=lambda i:len(i[1])) #指定按字典里的value长度排序,默认从小到大 [(9, 'd'), (1, 'ab'), (4, 'ght'), (2, 'degg')] >>> >>> >>> sorted(b.items(),key=lambda i:len(i[1]),reverse=True) #指定按字典里的value长度排序,同时进行翻转,即按value的长度从大到小排列 [(2, 'degg'), (4, 'ght'), (1, 'ab'), (9, 'd')]
過程為:b.iterms()得到字典b的[ (鍵,值)] 列表,透過key這個參數,指定排序的方式是鍵( [0] ) 還是值( [1] ),reverse = True表示是需要翻轉的,預設是從小到大,翻轉的話,那就是從大到小。
更多Python相關技術文章,請造訪Python教學欄位學習!
以上是python中sorted是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!