2016-11-17 4 views
-2
def print2DArray(array): 
    for i in array: 
     a = (i[2]) 
     print a 

print2DArray([["Y", "X", 5.3], ["B", "A", 10.5], ["E", "F", 25.8]]) 

forループの値を(5.3 + 10.5 + 25.8)のような合計値にどのように追加しますか?あなたは(すなわち41.6)これらの数字の合計を印刷したい場合はPythonで値を追加する

答えて

1

、あなたがそうのように、あなたのforループ内で実行中の合計を維持することがあります:

def print2DArray(array): 
    total = 0 
    for i in array: 
     a = (i[2]) 
     total += a 
    print total 

読みやすいかもしれません、しかし、あなたが使用している場合、内蔵のsum()機能とジェネレータ式:

def print2DArray(array): 
    print sum(i[2] for i in array) 
+0

注:自己文書化コードの場合、ループ内で開梱すると、必ずしも値を使用しない場合でも、通常よりよいです。例えば最初の2つの値が2次元空間内の点を表す文字であると仮定すると、配列の中のx、y、valの場合、total + = valの場合、またはsumのアプローチの場合sum 、y、val in array) '。あなたの実際のシナリオを説明するために名前を微調整してください。通常、明示的に繰り返しインデックスを作成するのではなく、暗黙的にアンパックする方が速く、何が起きているのかをより明白にします。 (答えの批判ではなく、単にOPの利益のために追加する)。 – ShadowRanger

関連する問題