Python 对变量内容进行数字排序

Python 对变量内容进行数字排序,python,api,loops,sorting,int,Python,Api,Loops,Sorting,Int,我在这里做错了什么。我返回的数字,但希望他们返回在最低到最高的顺序 def bus(): busurl = ('https://api.tfl.gov.uk/Line/9/Arrivals?stopPointId=IDHERE&app_id= % secret &app_key= % key') bus = requests.get(busurl) busarrival = bus.json() count = 0 for i in bu

我在这里做错了什么。我返回的数字,但希望他们返回在最低到最高的顺序

def bus():
    busurl = ('https://api.tfl.gov.uk/Line/9/Arrivals?stopPointId=IDHERE&app_id= % secret &app_key= % key')
    bus = requests.get(busurl)
    busarrival = bus.json()
    count = 0

    for i in busarrival:
        if count <= 2:
            status = (i['timeToStation'])
            result = (status / 60)
            print 'Next bus in {} mins'.format(result)
            count += 1
def总线():
busurl=('https://api.tfl.gov.uk/Line/9/Arrivals?stopPointId=IDHERE&app_id= %机密和应用程序密钥=%key')
总线=请求.get(总线URL)
busarival=bus.json()
计数=0
在巴士抵达时:
如果计数您可以使用特殊的
功能按到达时间排序:

for i in sorted(busarrival, key=lambda i: i['timeToStation']):
    if count <= 2:
        status = (i['timeToStation'])
        ...

当然,这要求每个条目必须
'timeToStation'
字段,并且字段必须是数字,而不是字符串。如果是字符串,请先转换为数字,例如,
key=lambda i:int(i['timeToStation'])

修复缩进。您在哪里返回值?抱歉,我在最后打印,但打印的不是从低到高。我将如何实现这一点?我试过使用status.sort,但没有用。使用
sorted(busarival)
应该可以解决这个问题。谢谢你的解释。我真的很感激!
busarrival.sort(key=lambda i: i['timeToStation'])
for i in busarrival:
    ...