2017-11-10 7 views
0
list1 = [['hello',3],['bye',4].....] 

この場合、3 + 4 = 7の項目の数を見つけるには、未定義の項目数このような構造のリストにありますリストの要素の合計を文字列と数値のリストの中で見つける方法

私はsumコマンドのためにすべてのサブリストから派生要素を呼び出す方法を知りません。私は次のことを試しましたが、最初の括弧は何に入れますか?それともこれを書く良い方法がありますか?

sum(list1[][1]) 

ありがとう!!

単純な二次元のリストについては
+0

ようこそ。残念ながら、これはディスカッションフォーラム、チュートリアルまたはコード作成サービスではありません。時間をかけて[ask]とそれに含まれるリンクを読んでください。例を練習して[チュートリアル](https://docs.python.org/3/tutorial/index.html)を試してみてください。 Pythonが提供するツールについて紹介し、問題解決のためのアイデアを得ることさえできます。 – wwii

答えて

0

、あなたはこれを試すことができます。

list1 = [['hello',3],['bye',4], [["hi", 19], ["yes", 18]]] 

def flatten(s): 
    if not isinstance(s, list): 
     yield s 
    else: 
     for i in s: 
      for b in flatten(i): 
       yield b 

final_result = sum(filter(lambda x:isinstance(x, int), list(flatten(list1)))) 

出力:

44 

list1 = [['hello',3],['bye',4]] 
the_sum = sum(i[-1] for i in list1) 

しかし、n寸法のリストについては、再帰がベストです

関連する問題