サッカーチームが試合に勝った回数を計算するために使用しようとしているコードを書きました。マッチはネストされたリストに置かれ、各サブリストには2つのチームの名前とゲームのスコアがそれぞれ含まれます。ネストされたリストのチームの勝利数をカウントする
L = [['Patriots', 'Giants', '3', '1'], ['Steelers', 'Patriots', '1', 2'], ['Giants', 'Steelers', '3', '5']]
しかし、リストははるかに大きく、試合に出場したサッカーチームが多く含まれています。
私は既に、各チームの名前とプレイしたゲームの数を含む最終的なリストを持っています。これは正常に計算されました。
finalList = [['Patriots', 7], ['Giants', 3], ['Steelers', 8]]
私は、出力は次のようになりたい:ペイトリオッツは7試合に出場し、2つの試合に勝ったので
finalList = [['Patriots', 7, 2], ['Giants', 3, 0], ['Steelers', 8, 1]]
、ジャイアンツは3つのゲームをプレイし、ゼロゲームやスティーラーズを獲得した8試合に出場し、1を獲得しましたゲーム。
これはこれまでのところ私のコードであり、一部の一致に対して正しい結果を得られません。私のコードは
[['Giants', 5, 1, 0, 1]]
:
for i in L:
countLeft = 0
countRight = 0
if i[2]>i[3]:
countLeft += 1
elif i[3]>i[2]:
countRight += 1
for k in finalList:
if i[0]==k[0]:
k.append(countLeft)
elif i[1]==k[0]:
k.append(countRight)
print(finalList)
私も自分のコード内の任意の辞書を使用することはできないのです、それはちょうどこのような1と0の数を追加してまた数を合計しません! !
はい!これは完全に機能しました。 'len(k)<3:'を入れた理由を尋ねることができますか? –
@BillyWhales 'k [2]'を呼び出すときにIndexErrorを防ぐためです。本質的にチームが勝利しなかった場合、配列は2つのインデックス( '['Patriots'、7]')になるので、 'k [2]'はエラーを発生させます。 –
どうすればチームが0試合で勝ったら0だけ追加するように編集できますか? –