我一直在想这个问题, 所以有一个api我想从中获取信息,比如游戏分数。你知道吗
api列表内容如下所示:
[
{
"team_id": "FALCONS",
"time_data": "2018-05-06T15:25:36.9524691Z",
"wins": 11,
"crow_size": 19563,
"last_game": {
"time_data": "2018-05-06T15:17:16.0000000Z",
"data": "4e7a-bf0c-a97e5f32f58b",
"take_side": "NA"
}
},
{
"team_id": "CARDINALS",
"time_data": "2018-05-06T15:25:36.9212380Z",
"wins": 14,
"crow_size": 26000,
"last_game": {
"time_data": "2018-05-06T15:25:25.6850000Z",
"data": "42ec-8326-445a22ea460f",
"take_side": "NA"
}
},
{
"team_id": "BUFFALO",
"time_data": "2018-05-06T15:25:36.7961978Z",
"wins": 16,
"crow_size": 34200,
"last_game": {
"time_data": "2018-05-06T15:07:50.0000000Z",
"data": "44b7-86c1-6b969fccbe2e",
"take_side": "NA"
}
}
]
我正在打印从最高胜利到最低胜利的分数:
BUFFALO 16
CARDINALS 17
FALCONS 11
这是一个很大的名单,所以我只想要特定数量的队伍, 现在我只能得到这个分数:
import requests
import json
import time
import datetime
import heapq
from pprint import pprint
url = 'api url'
getscore = requests.get(url)
getscore = json.loads(getscore.content)
lookup = ["CARDINALS", "BUFFALO"]
for x in getscore:
for ex in lookup:
if ex == x["team_id"]:
print(x["team_id"], x["wins"])
用上面的代码我可以得到分数,但是没有组织, 所以我想从最高的胜利到最低的胜利, 我想得到一些帮助,因为我想了解更多。你知道吗
还有可能得到最高分/最低分之间的百分比差异吗?像这样的
BUFFALO 16 percentage difference is = 10 percent
CARDINALS 17
FALCONS 11
谢谢你们的回复
好吧,我想我可以帮你,回答你的两个问题,组织,以及获得百分比差异。你知道吗
因此,如果您想对结果从高到低排序,那么您需要使用排序函数。你打算怎么办?好吧,下面是一个如何对python对象列表排序的示例。你知道吗
现在要从最高的胜利到最低的胜利排序,请执行以下操作:
上面的snipet将使用wins键对列表进行排序,返回一个已排序的集,然后将其转换回列表。请注意,有一个reverse关键字,用于从最高到最低(降序)排序,因为默认情况下,排序将从最低到最高(升序)
另一个需要注意的是itemgetter。这是运算符的一种方法,因此必须从运算符的顶部导入:
现在您已经对内容进行了排序。要获得百分比差异,只需执行以下操作:
我的团队[0].get('wins')表示从新排序的列表中获取第一个项目,然后获取它的wins属性。然后减去最后一项的(我的团队[-1].get('wins'))wins属性。你知道吗
如果我能帮助你,请告诉我。你知道吗
使用
list comprehension
和sort
输出:
这个怎么样:
相关问题 更多 >
编程相关推荐