Python 合計を求めるsum関数の便利な使い方

目次


sum()はリスト内の数値の合計を求める関数ですが、工夫次第で条件式の代わりやリストの連結など様々な使い方ができます。


基本的な使い方

sum()は通常、下記のように合計を求めるために使います。

list = [1, 2, 3, 4, 5]

print sum(list)
#=> 15


条件式の一部として使う

例えば、次のような処理を書かなければならないとします。

  • nは20以上である
  • nは50以下である
  • nは7の倍数である

3つの条件のうち2つ以上満たしていればTrue、そうでなければFalseとする

3つ以上であれば簡単ですが、2つ以上だと悩むことになると思います。そこでsum()を応用すると次のように表すことができます。

n = 77

if sum([n >= 20, n <= 50, n % 7 == 0]) >= 2:
    print True
else:
    print False

#=> True

nが77の場合、リスト内の3つの条件式の結果はそれぞれTrue、False、Trueになります。この合計をsum()で求めるとTrueは1、Falseは0に置き換えられます。そのため、合計は2となりTrueが返されます。


startを指定する

sum()では合計に加えて事前に最初の数値を指定することができます。

list = [1, 2, 3, 4]

print sum(list, 5)
#=> 15


リストを連結する

第二引数には数値だけでなくリストも指定できます。sum()はオブジェクトを順に「+」していく関数です。なので、次のようにリストの連結にも使えるというわけです。

list = [[1, 2], [3, 4], [5, 6]]

print sum(list, [])
#=> [1, 2, 3, 4, 5, 6]

print sum(list, [0])
#=> [0, 1, 2, 3, 4, 5, 6]

経験を活かして好きな仕事で収入UP!

「実務経験も積んだし、もっと待遇の良い会社に転職したい!」

「自分の強みを活かせる会社で働きたい!」

そう考えたことはありませんか?

自分の経験を活かせ収入も増やせる会社を探すなら、こちらのサイトがおすすめです。

詳しくはこちらをクリック