Это безумно расстраивает, и я был на всем пути, пытаясь найти это.Flask и Python возвращают заархивированный список
Моя проблема заключается в том, что я не могу напечатать два моих списка - имена команд и точки - рядом друг с другом.
Когда я печатаю (см. Код), он правильно печатает вывод терминала.
Когда я возвращаю то же самое, я просто получаю команду последнего места!
@app.route('/League Standing', methods=['GET','POST'])
def show_league():
text = request.form['league']
connection = httplib.HTTPConnection('api.football-data.org')
headers = {'X-Auth-Token': 'key', 'X-Response-Control': 'minified'}
connection.request('GET', '/v1/competitions/'+text+'/leagueTable', None, headers)
response = json.loads(connection.getresponse().read().decode())
teamnames = [r['team'] for r in response['standing']]
points = [r['points'] for r in response['standing']]
for t, p in zip(teamnames, points):
print('{}: {}'.format(t,p))
return jsonify('{}: {}'.format(t,p))
if __name__ == '__main__':
app.run(debug=True)
Вот что происходит, когда я печатала на терминале:
Chelsea: 43
Liverpool: 37
ManCity: 36
Arsenal: 34
Spurs: 33
ManU: 30
Southampton: 24
West Bromwich: 23
Everton: 23
Bournemouth: 21
Stoke: 21
Watford: 21
West Ham: 19
Middlesbrough: 18
Foxes: 17
Burnley: 17
Crystal: 15
Sunderland: 14
Swans: 12
Hull: 12
и при печати на сайте колба:
Hull: 12
Я хочу, чтобы вернуть то, что печатается в терминал, сайт !!!
Пожалуйста, дайте мне знать любые идеи!
Пожалуйста, помогите.
Посмотрите еще раз на свой код: вы возвращаетесь только (t, p), что является конечным значением вашего цикла, а не для всего элемента из цикла for. – pbuck
Возвращаясь к моему предыдущему комментарию [ЗДЕСЬ] (http://stackoverflow.com/a/41268356/2063361). * Существует разница между тем, что вы печатаете, и тем, что вы возвращаете через Flask *. Все, что вам нужно сделать, это 'jsonify (dict (zip (teamnames, points))). И этот ответ, который я уже упомянул в предыдущем посте –