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

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

通過接近值對(duì)Python中的JSON數(shù)組進(jìn)行排序

通過接近值對(duì)Python中的JSON數(shù)組進(jìn)行排序

GCT1015 2022-10-06 18:40:36
我想使用 python 以非常特定的方式對(duì) JSON 數(shù)組進(jìn)行排序。這是我要排序的 JSON 示例:[{'name': 'ZARA', 'risk': {'long': 3.9119195349019025, 'medium': 5, 'short': 4.485673554927903}}, {'name': 'SANTANDER', 'risk': {'long': 4.712942479560081, 'medium': 5, 'short': 4.348982243206375}}, {'name': 'BBC', 'risk': {'long': 5, 'medium': 5, 'short': 5}}, {'name': 'DISNEY', 'risk': {'long': 5, 'medium': 5, 'short': 5}}, {'name': 'BBVA', 'risk': {'long': 5, 'medium': 5, 'short': 5}}, {'name': 'IBEX35', 'risk': {'long': 4.8565761936412235, 'medium': 1.9216799766282, 'short': 1.3943451064412182}}]另一方面,我有一個(gè)給定的值,例如 3。我需要根據(jù)風(fēng)險(xiǎn)接近給定值(在本例中為 3)對(duì)給定數(shù)組的元素進(jìn)行排序。給出的結(jié)果必須是給定的 JSON 數(shù)組,在這種情況下,順序必須是:1o:{'name': 'SANTANDER', 'risk': {'long': 4.712942479560081, 'medium': 5, 'short': 4.348982243206375}}2o:{'name': 'ZARA', 'risk': {'long': 3.9119195349019025, 'medium': 5, 'short': 4.485673554927903}}′3o:{'name': 'IBEX35', 'risk': {'long': 4.8565761936412235, 'medium': 1.9216799766282, 'short': 1.3943451064412182}}4o:{'BBC', 'risk': {'long': 5, 'medium': 5, 'short': 5}}5o:{'name': 'DISNEY', 'risk': {'long': 5, 'medium': 5, 'short': 5}}6o:{'name': 'BBVA', 'risk': {'long': 5, 'medium': 5, 'short': 5}}
查看完整描述

1 回答

?
函數(shù)式編程

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

嘗試:


def sort_by_proximity(lst, value):

    return sorted(lst, key=lambda x: abs(x['risk']['short'] - value))


對(duì)于給定的示例,像這樣使用它:


lst = [

{'name': 'ZARA', 'risk': {'long': 3.9119195349019025, 'medium': 5, 'short': 4.485673554927903}}, 

{'name': 'SANTANDER', 'risk': {'long': 4.712942479560081, 'medium': 5, 'short': 4.348982243206375}}, 

{'name': 'BBC', 'risk': {'long': 5, 'medium': 5, 'short': 5}}, 

{'name': 'DISNEY', 'risk': {'long': 5, 'medium': 5, 'short': 5}}, 

{'name': 'BBVA', 'risk': {'long': 5, 'medium': 5, 'short': 5}}, 

{'name': 'IBEX35', 'risk': {'long': 4.8565761936412235, 'medium': 1.9216799766282, 'short': 1.3943451064412182}}

]


print(sort_by_proximity(lst, 3))


查看完整回答
反對(duì) 回復(fù) 2022-10-06
  • 1 回答
  • 0 關(guān)注
  • 117 瀏覽
慕課專欄
更多

添加回答

舉報(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)