python lambda函数两个列表大小关系_python学习 -- operator.itemgetter(), list.sort/sorted 以及lambda函数...
Python 中有非常方便高效的排序函數,下面主要介紹如何sort/sorted對list,dict進行排序。
1. 用list.sort /sorted 對list of tuples中第二個值進行排序
>>> import operator
>>> a=[(‘a‘,3),(‘b‘,2),(‘c‘,1)]
>>> import operator
>>> l=[(‘a‘,3),(‘b‘,2),(‘c‘,1)]
>>> l.sort(key=operator.itemgetter(1))
>>> l
[(‘c‘, 1), (‘b‘, 2), (‘a‘, 3)]
>>> sorted(l, key=operator.itemgetter(1))
[(‘c‘, 1), (‘b‘, 2), (‘a‘, 3)]
>>> sorted(l, key=operator.itemgetter(0))
[(‘a‘, 3), (‘b‘, 2), (‘c‘, 1)]
list.sort?和sorted?的區別:sort是list序列的一個方法,而sorted是內建函數
list.sort: 沒有返回值,而且 sort作為序列的內部函數,調用完后會對調用的序列進行排序
sorted:函數不改變參數,并返回排好序的序列副本
在python開發文檔中對sort和sorted都有詳細介紹,也可以調用help函數來查看兩者的區別
>>>help(list.sort)
Help on method_descriptor:
sort(...)
L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
>>>help(sorted)
Help on built-in function sorted inmodule builtins:
sorted(iterable,/, *, key=None, reverse=False)
Return a new list containing all itemsfrom the iterable inascending order.
A custom key function can be supplied to customize the sort order,andthe
reverse flag can be set to request the resultin descending order.
2. 除了用operator之外我們也可以用lambda
>>> l.sort(key=lambda x:x[1])>>>l
[(‘c‘, 1), (‘b‘, 2), (‘a‘, 3)]
3. 用sorted來對ditionary進行排序
>>> l = {‘a‘: 3,"b": 2,"c": 1}
>>> sl_key = sorted(l.items()) #Sort by key
>>> sl_key
[(‘a‘, 3), (‘b‘, 2), (‘c‘, 1)]
>>> sl_value = sorted(l.items(),key=lambda x:x[1]) #Sort by value
>>> sl_value
[(‘c‘, 1), (‘b‘, 2), (‘a‘, 3)]
>>> sl_value = sorted(l.items(),key=lambda x:x[1],
reverse=True) #Sort by value Backwards
>>> sl_value
[(‘a‘, 3), (‘b‘, 2), (‘c‘, 1)]
>>> sl_value = sorted(l.items(),key=lambda x:(x[1],x[0]),
reverse=True) #Sort by value then by Key
>>> sl_value
[(‘a‘, 3), (‘b‘, 2), (‘c‘, 1)]
總結
以上是生活随笔為你收集整理的python lambda函数两个列表大小关系_python学习 -- operator.itemgetter(), list.sort/sorted 以及lambda函数...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python ipaddress_Pyt
- 下一篇: python定时器timer_pytho