2017-06-19 7 views
0
ab = [ ['5','6','7','8','9','10'],['1','2','3'],['3','4','5']] 
print sum([sum(int(x) for x in y for y in ab])]) 

私はabのすべての要素の合計を1つのprint文で求めなければなりません。私は、各リストの各要素をintに変換し、個々のリストの合計を持つリストを作成しようとしています。 構文エラーが発生し、それを行う方法がわかりません。1行に1文字のリストを持つリストのすべての要素の合計を求める

+0

'' reduce'ファンのために '' print sum(xのyのabの中のyのためのint) '' – danihp

+0

:reduce(lambda x、y:int(x)+ int(y)、reduce __add __、ab)) ' – danihp

答えて

0

forのループ(外側のループ)の前に、xのループ(内側のループ)をforに定義しています。それが働いていない理由です。必要なのはprint sum(int(x) for y in ab for x in y) さらに効率的であるため、リストを再利用していないため、ここでジェネレータを使用する方が良いかもしれません。

関連する問題