2016-12-21 8 views
-2

これは非常にイライラしており、私はこれを見つけようとしているウェブ全体に行きました。フラスコとPythonはZIP形式のリストを返します

私の問題は、2つのリスト(チーム名とポイント)を互いに隣り合わせに印刷できないことです。

印刷すると(コードを参照)、端末出力に正しく印刷されます。

私はまったく同じものを返すと、私はちょうど最後の場所のチームを取得しています!ここで

@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) 

私は端末に印刷するときに何が起こるかです:私はに印刷されているものを返したい

Hull: 12 

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 

と私はフラスコのウェブサイトへの印刷ターミナル、ウェブサイト!!!

私にアイデアを教えてください!

助けてください。

+0

あなたのコードをもう一度見てみましょう:ループの最終値である(t、p)のみを返します。forループの要素のすべてではありません。 – pbuck

+0

私の前のコメントに戻る[こちら](http://stackoverflow.com/a/41268356/2063361)。 *あなたが印刷するものとFlask *を通して返すものには違いがあります。あなたがする必要があるのは 'jsonify(dict(zip(teamnames、points)))'です。そして、私があなたの前の投稿ですでに述べたこの答え –

答えて

0

あなたは正確にあなたが何を参照してください戻ってきている。

jsonify('{}: {}'.format(t,p)) 

これは(その値は、前forループから残っているキーtとし、値p、)その中に一つだけのアイテムで辞書を作成します。

まずジップをループしてその辞書をjsonifyに送信して辞書を作成することをお勧めします。何かのように:

関連する問題