users =[,
,,,,
,,,]
# 通過公共列age排序,反序的話新增reversed=true
sort_by_age =
sorted
(users,key=
lambda x:x[
'age'])
print
(sort_by_age)
# 輸出[,
,,,,
,,]
operator
模組中的itemgetter
itemgetter()
通常要比lambda
要快一些
from operator import itemgetter
sort_by_age =
sorted
(users,key=itemgetter(
'age'))
# 結果和上面完全一樣
# 接受多個
by_height_age =
sorted
(users,key=itemgetter(
'height'
,'age'))
print
(by_height_age)
# 輸出[,
,# height相同再通過age排序,,
,,,]
# 獲取height最大的
max(users,key=itemgetter(
'age'
))
heapq
模組中的nlargest
和nsmallest
from heapq import nlargest,nsmallest
from operator import itemgetter
# 簡單序列
nums =[21
,1,546,6
,269
,236
,344,56
,3]# 最大三個
print
(nlargest(
3,nums)
)# 最小三個
print
(nsmallest(
3,nums)
)# 輸出
[546
,344
,269][
1,3,
6]# 複雜序列,就用上面的users
# 年齡最大三人
# sort_age = nlargest(3,users, key=lambda a: a['age'])
sort_age = nlargest(
3,users, key=itemgetter(
'age'))
print
(sort_age)
# 最矮三人
sort_height = nsmallest(
3, users, key=itemgetter(
'height'))
print
(sort_height)
# 輸出[,
,][,
,]
python字典 通過值反查鍵(簡潔寫法)
通過鍵查值比較容易,通過值反查鍵就稍微麻煩點,這裡給大家提供點思路。第一種是值唯一的情況直接構造列表,通過value的索引取對應的key。第二種是值不唯一的情況,需要通過for遍歷出所有的索引然後查出所有對應的key。如果你需要列印所有滿足查詢值所對應的key,選第二種 如果你只需要列印首次出現查詢...
python2 中實現字典公共鍵提取
建立相同公共鍵字典 from random import randint,sample sample abcdefg randint 3,6 s1 s2 s3 提取字典中公共鍵第一種方法 for k in s1 res if k in s2 and k in s3 print res 第二種方法 使...
python快速找到多個字典中的公共鍵
第一輪 第二輪 統計出錢n輪,每場比賽都有進球的球員 方法一 效率低 隨機產生進球成員 隨機取樣 s sample abcdefg randint 3,6 print s s1 s2 s3 print s1 print s2 print s3 獲取公共鍵 res res for k in s1 if...