python中用def实现自动排序_Python sorted排序方法如何实现
在給列表排序時,sorted非常好用,語法如下:
sorted(iterable[, cmp[,key[,reverse]]])
sorted定義如下:
sorted( iterable[, cmp[, key[, reverse]]])
iterable:是可迭代類型類型;
cmp:用于比較的函數,比較什么由key決定,有默認值,迭代集合中的一項;
key:用列表元素的某個屬性和函數進行作為關鍵字,有默認值,迭代集合中的一項;
reverse:排序規則. reverse = True 或者 reverse = False,有默認值。
返回值:是一個經過排序的可迭代類型,與iterable一樣。簡單列表排序,很容易完成,sorted(list)返回的對象就是列表結果,但是遇到列表中嵌套元組時,需要使用特殊的方法解決。
問題描述:
給定列表如下:
list_example = [('John', 35), ('Jack', 32), ('Michael', 28), ('Sean', 20)]
輸出要求:
[('Sean', 20), ('Michael', 28), ('Jack', 32), ('John', 35)]
解決方法:
1. 傳入函數給key,完成操作;
2. 直接使用lambda函數;
方法1的代碼如下:
def revsort(oldlist):
return oldlist[::-1]
def by_age(li):
return sorted(li, key = revsort)
方法2的代碼如下:
def by_age(li):
return sorted(li, key = lambda x: x[1])
直接print可以得到結果:
print(by_age(list_example))
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持我們。
本文標題: Python sorted排序方法如何實現
本文地址: http://www.cppcns.com/jiaoben/python/304907.html
總結
以上是生活随笔為你收集整理的python中用def实现自动排序_Python sorted排序方法如何实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牙齿陶瓷贴面做了好不好
- 下一篇: 做个m唇大概多久恢复