python中sort sorted reverse reversed函數(shù)的區(qū)別說明
sort()是可變對象(字典、列表)的方法,無參數(shù),無返回值,sort()會改變可變對象,因此無需返回值。
sort()方法是可變對象獨有的方法或者屬性,而作為不可變對象如元組、字符串是不具有這些方法的,如果調(diào)用將會返回一個異常。
代碼如下:
>>> a=[5,4,3,2,1]>>> a.sort()>>> [1, 2, 3, 4, 5]>>> a>>> [1, 2, 3, 4, 5]
sorted()是python的內(nèi)置函數(shù),并不是可變對象(列表、字典)的特有方法,sorted()函數(shù)需要一個參數(shù)(參數(shù)可以是列表、字典、元組、字符串),無論傳遞什么參數(shù),都將返回一個以列表為容器的返回值,如果是字典將返回鍵的列表。
代碼如下:
>>> mystring='54321'>>> mytuple=(5,4,3,2,1)>>> mylist=[5,4,3,2,1]>>> sorted(mystring)>>>[1, 2, 3, 4, 5]>>>mystring>>>'54321'>>> 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]>>> for i in reversed(mylist):>>>print i,>>>1 2 3 4 5
通過序列的切片也可以達(dá)到“逆轉(zhuǎn)”的效果
代碼如下:
>>> 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]
補(bǔ)充知識:python sorted()函數(shù)cmp,key,reverse參數(shù)詳解
Python幫助文檔中對sorted方法的講解:
sorted(iterable[,cmp,[,key[,reverse=True]]])
作用:返回一個經(jīng)過排序的列表。
第一個參數(shù)是一個iterable,返回值是一個對iterable中元素進(jìn)行排序后的列表(list)。
可選的參數(shù)有三個,cmp、key和reverse。
1)cmp指定一個定制的比較函數(shù),這個函數(shù)接收兩個參數(shù)(iterable的元素),如果第一個參數(shù)小于第二個參數(shù),返回一個負(fù)數(shù);如果第一個參數(shù)等于第二個參數(shù),返回零;如果第一個參數(shù)大于第二個參數(shù),返回一個正數(shù)。默認(rèn)值為None。
2)key指定一個接收一個參數(shù)的函數(shù),這個函數(shù)用于從每個元素中提取一個用于比較的關(guān)鍵字。默認(rèn)值為None。
3)reverse是一個布爾值。如果設(shè)置為True,列表元素將被倒序排列。
key參數(shù)的值應(yīng)該是一個函數(shù),這個函數(shù)接收一個參數(shù)并且返回一個用于比較的關(guān)鍵字。對復(fù)雜對象的比較通常是使用對象的切片作為關(guān)鍵字。
例如:
students = [(’john’, ’A’, 15), (’jane’, ’B’, 12), (’dave’, ’B’, 10)]sorted(students, key=lambda s: s[2]) #按年齡排序# [(’dave’, ’B’, 10), (’jane’, ’B’, 12), (’john’, ’A’, 15)]
以上這篇python中sort sorted reverse reversed函數(shù)的區(qū)別說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. jsp+mysql實現(xiàn)網(wǎng)頁的分頁查詢2. 完美解決idea突然間很卡的問題3. IntelliJ IDEA設(shè)置條件斷點的方法步驟4. JavaScript Tab菜單實現(xiàn)過程解析5. ThinkPHP5 通過ajax插入圖片并實時顯示(完整代碼)6. Python使用oslo.vmware管理ESXI虛擬機(jī)的示例參考7. js實現(xiàn)幻燈片輪播圖8. Ajax引擎 ajax請求步驟詳細(xì)代碼9. Android實現(xiàn)圖片自動切換功能(實例代碼詳解)10. javascript設(shè)計模式 ? 建造者模式原理與應(yīng)用實例分析
