2

Python2.7での作業。

チーム名をキーとして持つ辞書があり、値はリストに含まれています。最初の値はチームが得点したランの量であり、2番目の値は許可されたランです。

NL = {'Phillies': [662, 476], 'Braves': [610, 550], 'Mets': [656, 687]}

各キーを繰り返し処理し、辞書全体でスコアリングおよび許可された合計実行数を提供する関数があります。また、合計から個々のチームを差し引いて、リーグからチームの値を引いた値を作成できるようにしたいと思います。

私は最初にこれに沿って何かを試しました:

def Tlog5(league, league_code):
    total_runs_scored = 0
    total_runs_allowed = 0
    for team, scores in league.iteritems():
        total_runs_scored += float(scores[0])
        total_runs_allowed += float(scores[1])
        team_removed_runs = total_runs_scored - scores[0]

残念ながら、それは完全な合計ではなく、すでに繰り返された値のみから差し引かれているように見えました。したがって、ディクショナリの最初のチームの場合、team_removed_runsは0でした。2番目のチームの場合、最初の2つのチームの合計実行数から2番目のチームの合計を引いたものです(最初のチームの合計のみを残します)。

team_removed_runs = total_runs_scored --scores [0]をforループから移動しようとしましたが、辞書の最後のチームの値しか取得できませんでした。

ディクショナリ内のすべてのチームのteam_removed実行を返す方法はありますか?

助けてくれてありがとう!

4

1 に答える 1

6

ディクショナリ内のすべてのチームが必要な場合team_removed_runsは、ディクショナリに戻って、実行の合計数から各チームの実行を差し引いた値を計算する必要があります。何かのようなもの

team_removed_runs = {}
for team, scores in league.iteritems():
    team_removed_runs[team] = [total_runs_scored - scores[0],
                               total_runs_allowed - scores[1]]

これは、リーグ全体のtotal_runs_scoredとの最終値を使用し、その合計から各チームの値を差し引いて、結果をディクショナリに保存します。したがって、リーグの合計からフィリーズを差し引いた値が必要な場合は、次の場所でこれを見つけることができます。total_runs_allowedteam_removed_runs

team_removed_runs['Phillies']
于 2011-09-18T05:47:03.593 に答える