五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

python教程對(duì)函數(shù)中的參數(shù)進(jìn)行排序

發(fā)布日期:2021-12-30 05:05 | 文章來(lái)源:CSDN

內(nèi)建的 sorted() 函數(shù)可接受一個(gè)用來(lái)傳遞可調(diào)用對(duì)象( callable ) 的參數(shù) key,而該可調(diào)用對(duì)象會(huì)返回待排序?qū)ο笾械哪承┲?,sorted則利用這些值來(lái)比較對(duì)象。

例如,如果應(yīng)用中有一系列的 User 對(duì)象實(shí)例,而我們想通過(guò) user_id 屬性來(lái)對(duì)他們排序,則可以提供一個(gè)可調(diào)用對(duì)象將 User 實(shí)例作為輸入然后返回 user_id。

class User:
 def __init__(self, user_id):
  self.user_id = user_id
 def __repr__(self):
  return 'User({})'.format(self.user_id)
 
users = [User(23), User(3), User(99)]
print(users)
# [User(23), User(3), User(99)]
 
sorted(users, key=lambda u: user_id)
# [User(3), User(23), User(99)]

除了可以用 lambda 表達(dá)式外,另一種方式是使用 operator.attrgetter()

from operator import attrgetter
sorted(users, key=attrgetter('user_id'))
# [User(3), User(23), User(99)]

要使用 lambda 表達(dá)式還是 attrgetter() 或許只是一種個(gè)人喜好。但是通常來(lái)說(shuō),attrgetter() 要更快一些,而且允許同時(shí)提取多個(gè)字段值的能力。

這和針對(duì)字典的 operator.itemgetter() 的使用很類似。

如果 User 實(shí)例還有一個(gè) first_name 和 last_name 屬性的話,可以執(zhí)行如下的排序操作:

by_name = sorted(users, key=attrgetter('last_name', 'first_name'))

同樣,本節(jié)所用到的技術(shù)也使用于像 min() 和 max() 這樣的函數(shù)。

min(Users, key=attrgetter('user_id'))
# User(3)
max(Users, key=attrgetter('user_id'))
# User(99)

以上就是python教程對(duì)函數(shù)中的參數(shù)進(jìn)行排序的詳細(xì)內(nèi)容,更多關(guān)于Python參數(shù)排序的資料請(qǐng)關(guān)注本站其它相關(guān)文章!

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部