我正在嘗試從 json 檔案中獲取第二大值。我設法獲得了最大值,但沒有獲得第二個值,我該怎么做?
這就是我到目前為止所擁有的:
with open('leaderBoard.json') as f:
events = json.load(f)
event = max(events['names'], key=lambda ev: ev['points'])
print(event)
輸出:
{'PrevStreak': False, 'Streak': 0, 'name': 'kk#7565', 'points': 2000}
這是我的 json 檔案:
{
"names": [
{
"PrevStreak": false,
"Streak": 0,
"name": "kk#7565",
"points": 2000
},
{
"PrevStreak": false,
"Streak": 0,
"name": "ff#7565",
"points": 100
}
]
}
任何幫助都很棒,謝謝
uj5u.com熱心網友回復:
您可以先對 json 進行排序,然后獲取值:
with open('leaderBoard.json') as f:
events = json.load(f)
events = sorted(events["names"], key=lambda ev: ev["points"])
event = events[-2]
print(event)
uj5u.com熱心網友回復:
假設 0 是最小的點數,
with open('leaderBoard.json') as f:
events = json.load(f)
max_points = max(events['names'], key=lambda ev: ev['points'])
2nd_points = max(events['names'], key=lambda ev: ev['points'] if ev['points'] < max_points else 0)
print(2nd_points)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/455814.html
