1. (按字母順序排列)——sort()函數(shù)

創(chuàng)新互聯(lián)建站主營梅州網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app開發(fā),梅州h5小程序制作搭建,梅州網(wǎng)站營銷推廣歡迎梅州等地區(qū)企業(yè)咨詢
例:
cars?=['bmw','audi','toyota','subaru']
cars.sort()
print(cars)
輸出得到
['audi', 'bmw', 'subaru', 'toyota']
請點擊輸入圖片描述
請點擊輸入圖片描述
2.按字母反序排列——reverse函數(shù)
cars?=['bmw','audi','toyota','subaru']
cars.sort(reverse=True)# reverse“adj. 反面的;顛倒的;n. 倒轉(zhuǎn),反向”
print(cars)
輸出得到
['toyota', 'subaru', 'bmw', 'audi']
請點擊輸入圖片描述
請點擊輸入圖片描述
3.對列表進行臨時排序——sorted()函數(shù)
cars?=['bmw','audi','toyota','subaru']
print("Here?is?the?original?list:")
print(cars)
print("\nHere?is?the?sorted?list:")
print(sorted(cars))
print("Here?is?the?original?list?again:")
print(cars)
輸出得到
Here is the original list:
['bmw', 'audi', 'toyota', 'subaru']
Here is the sorted list:
['audi', 'bmw', 'subaru', 'toyota']
Here is the original list again:
['bmw', 'audi', 'toyota', 'subaru']
請點擊輸入圖片描述
請點擊輸入圖片描述
4. 倒著打印列表——reverse()函數(shù)
cars?=['bmw','audi','toyota','subaru']
print(cars)
cars.reverse()
print(cars)
輸出得到
['bmw', 'audi', 'toyota', 'subaru']
['subaru', 'toyota', 'audi', 'bmw']
請點擊輸入圖片描述
請點擊輸入圖片描述
Python使用過程隨記~
sort()函數(shù)與sorted()函數(shù)的區(qū)別:
sort是list的方法,而sorted可以對所有可迭代對象進行排序(字典,元組等);
sort方法返回的是對已經(jīng)存在的列表進行操作,會改變原有列表的值;而sorted是新建一個新的list,不改變原有的值。
一.list sort()方法
語法:
key:主要是用來比較的參數(shù),指定對象中的一個對象用來進行排序。
reserve:默認值為reserve=False升序,reserve=True降序。
無返回值,通常如下:
指定列表中的元素排序來輸出:
二.sorted
語法:
iterable:可迭代對象
key:主要是用來比較的參數(shù),指定對象中的一個對象用來進行排序。
reserve:默認值為reserve=False升序,reserve=True降序。
利用key進行倒序排序:
或者通過reserve參數(shù),與sort()函數(shù)一致。
若列表內(nèi)元素為字典/元組,還可以通過key指定來排序:
python有兩個內(nèi)置的函數(shù)用于實現(xiàn)排序,一個是list.sort()函數(shù),一個是sorted()函數(shù)。
區(qū)別1:list.sort()函數(shù)只能處理list類型數(shù)據(jù)的排序;sorted()則可以處理多種類型數(shù)據(jù)的排序。
區(qū)別2:list.sort()會修改原來的list為排序后的結(jié)果;sorted()不會修改原來的數(shù)據(jù),只是返回一個排序后的對象。
下面來動手寫點代碼進行測試:
list進行簡單的排序
1 a=['a','f','c','x','e']2 a.sort()3 a4 [a','c','e','f','x']
sorted()進行簡單排序
1 a=['a','f','c','x','e']2 a_new=sorted(a)3 a_new4 ['a', 'c', 'e', 'f', 'x']
list.sort()和sorted都有默認的參數(shù)reverse,該參數(shù)的默認值為“False”,即默認升序排列。如果要進行降序排列:
1 a=['a','f','c','x','e']2 a_new=sorted(a,reverse=True)3 a_new4 ['x', 'f', 'e', 'c', 'a']
對元組進行排列,不能使用list.sort()函數(shù):
1 a=('a','f','c','x','e')2 a_new=a.sort()3
4 ttributeError: 'tuple' object has no attribute 'sort'
對字典的排序可以按照字典的key或者value進行排序:
1 dic={"aa":11,"ff":5,"ee":22}2 printsorted(dic.keys())3 ['aa', 'ee', 'ff']
從python2.4開始list.sort()和sorted()都引入了key參數(shù)來指定一個函數(shù)進行排序,有了key參數(shù)以后我們就可以對更加復(fù)雜的數(shù)據(jù)進行排序 。
假如需要排序的數(shù)據(jù)為一個list,但list的每一個元素都是一個字典,排序的方法如下:
dic=[{"name":"sunny","age":20},
{"name":"bell","age":5},
{"name":"jim","age":1},
{"name":"jan","age":10}]print sorted(dic,key=lambda arg:arg.get('age'),reverse=False) #按照每個字典的age的值進行排序,字典的方法dict.get(key)將返回指定鍵的值。
#輸出結(jié)果為:[{'age': 1, 'name': 'jim'}, {'age': 5, 'name': 'bell'}, {'age': 10, 'name': 'jan'}, {'age': 20, 'name': 'sunny'}]
print sorted(dic,key=lambda arg:arg.get('name'),reverse=False) #按照每個字典的name的值進行排序
#輸出結(jié)果為:[{'age': 5, 'name': 'bell'}, {'age': 10, 'name': 'jan'}, {'age': 1, 'name': 'jim'}, {'age': 20, 'name': 'sunny'}]
假如需要排序的數(shù)據(jù)為一個二維的list,即list的每一個元素也是一個list,方法與上面的例子類似:
a=[['100','8','30'],['200','5','50'],['300','1','20']]print sorted(a,key=lambda arg:arg[1]) #按照每個list的第1個元素進行排序
[['300', '1', '20'], ['200', '5', '50'], ['100', '8', '30']]
前面的2個例子中,key參數(shù)的值都是函數(shù)。在sorted函數(shù)中,key參數(shù)后面的函數(shù)的參數(shù)的數(shù)量只能是一個。lambda arg:arg.get('age')是一個lambda匿名函數(shù),它是一個沒有函數(shù)名的單語句函數(shù)。冒號左邊是參數(shù),冒號右邊的返回值,返回值將被用于排序。
sorted函數(shù)python介紹如下
sorted() 作為?Python?內(nèi)置函數(shù)之一,其功能是對序列(列表、元組、字典、集合、還包括字符串)進行排序。
sorted() 函數(shù)的基本語法格式如下
list = sorted(iterable, key=None, reverse=False)
其中,iterable 表示指定的序列,key 參數(shù)可以自定義排序規(guī)則;reverse 參數(shù)指定以升序(False,默認)還是降序(True)進行排序。sorted() 函數(shù)會返回一個排好序的列表。
注意,key 參數(shù)和 reverse 參數(shù)是可選參數(shù),即可以使用,也可以忽略。
演示sorted()函數(shù)的基本代碼用法:
#對列表進行排序
a = [5,3,4,2,1]
print(sorted(a))
#對元組進行排序
a = (5,4,3,1,2)
print(sorted(a))
#字典默認按照key進行排序
a = {4:1,\
5:2,\
3:3,\
2:6,\
1:8}
print(sorted(a.items()))
#對集合進行排序
a = {1,5,3,2,4}
print(sorted(a))
#對字符串進行排序
a = "51423"
print(sorted(a))
網(wǎng)頁標題:包含python實現(xiàn)排序函數(shù)的詞條
轉(zhuǎn)載來源:http://chinadenli.net/article7/dsicpoj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站策劃、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、Google、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)