第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Python:如何將一個(gè)列表的排序(按最大值)應(yīng)用于另一個(gè)列表的元素索引排序

Python:如何將一個(gè)列表的排序(按最大值)應(yīng)用于另一個(gè)列表的元素索引排序

慕運(yùn)維8079593 2021-10-26 11:00:59
例如lst1=['1.11','3.34','2.44','4.5']lst2=['100.0','5000.9','999.0','666.0']我想將 lst1 中的值從最大到最小排序,我可以這樣做:lst1_sorted=sorted(lst1,key=float,reverse=True)lst1_resorted = ['4', '3', '2', '1']但后來我也想在 lst2 上使用排序,以便lst2_resorted = ['666','5000','999','100']這需要專門用于浮點(diǎn)數(shù)的列表?xiàng)l目。例如,我可以在上面使用 key=float。理想情況下無需導(dǎo)入另一個(gè)庫。
查看完整描述

2 回答

?
心有法竹

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊

您可以像這樣利用熊貓庫


import pandas as pd


# before

lst1=['1','3','2','4']

lst2=['100','5000','999','666']


# Use pandas

df = pd.DataFrame({'A':lst1,'B':lst2}).sort_values('A', ascending =False)


# After

lst1 = df['A'].tolist()

lst2 = df['B'].tolist()


查看完整回答
反對 回復(fù) 2021-10-26
?
慕絲7291255

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以使用enumerate來計(jì)算您的索引,然后通過它們索引兩次?;蛘?,事實(shí)上,任意次數(shù)。


from operator import itemgetter


idx = sorted(enumerate(lst1), key=lambda x: float(x[1]), reverse=True)

getter = itemgetter(*map(itemgetter(0), idx))


res1 = list(getter(lst1))  # ['4', '3', '2', '1']

res2 = list(getter(lst2))  # ['666', '5000', '999', '100']


查看完整回答
反對 回復(fù) 2021-10-26
  • 2 回答
  • 0 關(guān)注
  • 282 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)