pythonで２次元配列の１つ目の要素から，２つ目の合計を算出


２次元配列liがあり

[code]

    li =[[1,2],
         [2,3],
         [3,4],
         [4,5],
         [1,3],
         [1,4]]
    
[/code]

１つ目の要素が１である箇所の２つ目の要素の合計を計算したいです．  
上のリストの場合，１つ目の要素が１である[1,2][1,3][1,4]の  
２つ目の要素の合計を算出(2+3+4=9)といった具合です．

filter,map,sum,lambdaをうまく使えば，できると思うのですが・・・

分かりにくい文章で申し訳ありませんが，よろしくお願いいたします．




filter, mapを使っても可能ですが、あまりPythonicではありません。

[code]

    filtered = filter(lambda e: e[0] == 1, li)
    mapped = map(lambda e: e[1], filtered)
    print(sum(mapped))
    
[/code]

コメントで言われているように、(件数にもよりますが)内包表現を使ったほうが簡潔でオススメです。

[code]

    print(sum(e[1] for e in li if e[0] == 1))
    
[/code]

