1、列表(list)排序:函數
1 sort()函數對象
list對象有sort()內置排序方法。排序
list.sort(key=None, reverse=False)get
key:用來指定list中元素以什麼形式去參與排序,該參數能夠接受一個函數,以函數的返回值進行排序。it
reverse:默認false(升序),true爲降序。import
sort()方法改變的是對象自身,因此元組在排序時要先轉換爲列表。方法
2內置函數sorted():im
result = sorted(iterable,key=None,reverse=False)sort
iterable:爲可迭代對象,dict
key:用來指定可迭代對象中各元素以什麼形式參與排序,key能夠爲一個函數,將會以函數的返回值對元素進行排序,
reverse:默認false(升序),true爲降序,
result:sorted()函數不改變對象自己,它返回的是iterable按照key的排序方式排好以後的對象。
2、字典(dict)排序:
1內置函數sorted():
一下排序中sorted()函數默認reverse=False(降序),若要升序則reverse=True
字典沒有實例排序方法sort()。
字典排序分爲按key排序、按value排序。
按key排序: key_list = sorted(dict) 默認爲按key排序,返回的是排好序的key的列表,
key_value_tuple_list = sorted(dict.items()) 返回的是元素爲元組 (key,value) 形式的列表。
按value排序: ①value_list = sorted(dict.values()) 返回的是排好序的value的列表,
②def func(item):
print(itme) #item實際上是個這 (key,value)
return item[1] #若是這裏返回item[0],將會按key進行排序
key_value_tuple_list = sorted(dict.items(),key=func) 根據func的返回值進行排序,返回的是元素爲元組(key,value)形式的列表,各元素以value進行排序。
③from operator import itemgetter
key_value_tuple_list = sorted(dict.items(),key=itemgetter(0)) #itemgetter(0)是key,因此這是以key值進行排序,返回的是元素爲元組(key,value)形式的列表
key_value_tuple_list = sorted(dict.items(),key=itemgetter(0)) #itemgetter(1)是value,因此這是以value值進行排序,返回的是元素爲元組(key,value)形式的列表