【Python】sum・max・min・round・absの使い方を初心者向けに徹底解説!組み込み関数で集計を1行で

Pythonの組み込み関数sum・max・min・round・absの解説

※このサイトの記事内では広告を掲載している場合があります。

Pythonで成績の合計や平均、最高点・最低点を求めたいとき、for文で1つずつ計算していませんか?実はPythonには、sum・min・max・round・absといった便利な組み込み関数が用意されていて、1行で同じことができます。

この記事では、これらの基本的な組み込み関数の使い方を、実行結果つきで初心者向けに解説します。

組み込み関数とは?

組み込み関数とは、importをしなくても最初から使えるPython標準の関数です。print()やlen()もその仲間です。自分で関数を作る方法は関数(def)の作り方の記事で解説しているので、あわせて読むと理解が深まります。

sum関数:合計を求める

sum()はリストなどの要素の合計を返します。

scores = [70, 85, 90, 65, 80]

print(sum(scores))             # 390
print(sum(scores) / len(scores))  # 78.0(平均)

平均を求めるときは、合計を要素数len()で割ります。

内包表記・ジェネレータ式と組み合わせる

print(sum(x * x for x in range(1, 4)))  # 14(1+4+9)

このように、リスト内包表記に近い書き方と組み合わせると、短いコードで集計できます。

max・min関数:最大値・最小値を求める

scores = [70, 85, 90, 65, 80]

print(max(scores))  # 90
print(min(scores))  # 65
print(max(10, 3, 7))  # 10(複数の値を直接渡すこともできます)

key引数で比べ方を指定する

max()とmin()にはkey引数があり、「何を基準に比べるか」を指定できます。

words = ["apple", "banana", "cherry"]
print(max(words, key=len))  # banana(最も長い文字列。同じ長さなら先頭が優先)

ages = {"taro": 20, "hanako": 25, "jiro": 18}
print(max(ages, key=ages.get))  # hanako(値が最大のキー)

辞書の扱いに慣れていない方は辞書(dict)の使い方も確認してみてください。

空のリストに注意:default引数

print(max([], default=0))  # 0
# print(max([]))  # ValueError: max() arg is an empty sequence

空のリストを渡すとエラーになります。データが空になる可能性があるときは、default引数を指定しておくと安全です。

独学で伸び悩んだら、スクール比較記事も参考にしてください。Pythonが学べるプログラミングスクールの選び方(比較軸とタイプ別おすすめ)で、未経験者向けに整理しています。

round関数:四捨五入(ではない丸め)

print(round(3.14159, 2))  # 3.14(小数第2位まで)
print(round(1234, -2))     # 1200(百の位まで)
print(round(2.5))          # 2
print(round(3.5))          # 4

注意したいのは、round(2.5)が3ではなく2になる点です。Pythonのroundは「偶数への丸め(銀行丸め)」を採用しており、ちょうど真ん中の値は最も近い偶数に丸められます。一般的な四捨五入が必要な場面では、decimalモジュールを使う方法があります。

浮動小数点の誤差をroundで整える

total = sum([0.1] * 10)
print(total)            # 0.9999999999999999
print(round(total, 2))  # 1.0

abs関数:絶対値を求める

print(abs(-5))    # 5
print(abs(-3.5))  # 3.5

# 2つの値の差(どちらが大きいか分からなくてもOK)
a, b = 30, 72
print(abs(a - b))  # 42

おまけ:divmod関数で商と余りを同時に求める

q, r = divmod(17, 5)
print(q, r)  # 3 2

商と余りを一度に取得できるので、時間の計算(秒→分と秒)などで役立ちます。

よくある質問

sumは文字列のリストにも使えますか?

数値用の関数なので、文字列のリストにはエラーになります。文字列の連結にはjoin()を使いましょう。

sortedとmaxはどう使い分けますか?

最大・最小の1件だけが欲しいならmax/min、並べ替えた全体が欲しいならsortedとsortを使います。

もっと効率的にPythonを学びたい人へ

組み込み関数のような基礎は独学でも身につきますが、「エラーの原因が分からない」「次に何を学べばよいか迷う」といった壁にぶつかることも多いものです。マンツーマンで質問できる環境なら、未経験からでも着実にPythonを習得できます。無料カウンセリングを実施しているスクールもあるので、まずは相談してみるのもひとつの方法です。

※本記事には広告(アフィリエイトリンク)を含みます。

Pythonプログラミング|マンツーマンレッスンで初めてをプロに育てる【Python Winner】

まとめ

  • sum()で合計、len()と組み合わせれば平均も1行で求められます
  • max()/min()は最大・最小を返し、key引数で比較基準を変えられます
  • 空のデータにはdefault引数でエラーを防ぎましょう
  • round()は偶数への丸めで、round(2.5)は2になります
  • abs()は絶対値、divmod()は商と余りを同時に返します

基本の組み込み関数を使いこなすと、コードが短く読みやすくなります。ぜひ手を動かして試してみてください。

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA