python:sort、sorted、reverse、reversed的區別


!!! error 首先應該區分的是,sort和reverse是列表的一個方法。字符串、元組、字典、集合是沒有這兩個方法的。而sorted和reversed是python的兩個內置函數,並且只有字符串、列表、元組,可以當做參數傳入,字典和集合不支持,得到的是一個生成器對象

sort,sorted是對參數進行排序(即從小到大或者從大到小的排序方式)

reverse,reversed是對參數進行正序或者倒敘
!!!

sort
只有列表有該方法,直接對原來的列表進行排序,不會產生新列表

l1 = [12,2,34,54,5,17]
l1.sort() #[2, 5, 12, 17, 34, 54]
l1.sort(reverse=True) #[54, 34, 17, 12, 5, 2]
print(l1)

sorted

不會改變原序列的位置順序,會得到一個從小到大排序的新列表,想要的到從大到小的直接在序列后面加,reverse=True(注意得到的是個列表,不論原數列是不是字符串、列表、元組,得到的都是列表)

s = "summer"
res1 = sorted(s)
print(s) #summer
print(res1,type(res1)) #['e', 'm', 'm', 'r', 's', 'u'] <class 'list'>

reverse

只有列表有該方法,直接對原來的列表進行反轉

l1 = [1,2,10,7,5]
res = l1.reverse()
print(res) #None
print(l1) #[5, 7, 10, 2, 1]

reversed()

只有字符串、列表、元組,可以當做參數傳入,字典和集合不支持,得到的是一個生成器對象,不會對原來的序列有影響

s = "summer"
res1 = reversed(s)
print(res1) #<reversed object at 0x101b60668>
print(list(res1)) #['r', 'e', 'm', 'm', 'u', 's']
print(s) #summer


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM