【Python】if文を一行で書く方法

Pythonのロゴ Python

はじめに

Pythonは、そのシンプルで読みやすい構文が特徴です。この特徴の一つとして、if文を一行で書く方法があります。if文を一行で書くことでコードを簡潔にすることができます。さらに、特定の条件に基づく簡単な処理を行う場合に非常に有用です。以前の記事でもif文についての基本的な操作方法を解説しましたが、今回はその続編として、この記事では、Pythonでif文を一行で書く方法やその使い方について詳しく解説します。

if文を一行で書く際の基本構文

Pythonでif文を一行で書く場合、基本的な構文は次のようになります。

<Trueの場合の処理> if <条件> else <Falseの場合の処理>

この構文を使うと、条件がTrueの場合に実行される処理とFalseの場合に実行される処理を一行で記述できます。例えば、以下のように記述することができます。

# 変数aが10以上なら"High"、それ以外なら"Low"を返す
a = 15
result = "High" if a >= 10 else "Low"
print(result)
# 実行結果
# High

この例では、変数aの値が10以上であればHighを、そうでなければLowをresultに代入します。

活用例

if文を一行で書く構文は、条件に基づいて値を選択する場合に非常に便利です。ここでは、いくつかの活用例を紹介します。

例①:リストの要素に条件を適用

リスト内の各要素に対して条件を適用し、新しいリストを作成する場合に使用できます。

numbers = [1, 2, 3, 4, 5]
# 偶数なら"Even"、奇数なら"Odd"を返すリストを作成
labels = ["Even" if num % 2 == 0 else "Odd" for num in numbers]
print(labels)
# 実行結果
# ['Odd', 'Even', 'Odd', 'Even', 'Odd']

この例では、偶数か奇数かに基づいてEvenまたはOddのラベルを生成しています。

例②:関数内での適用

関数内で使用すると、関数の処理を簡潔に書くことができます。

def check_number(n):
    return "Positive" if n > 0 else "Negative or Zero"

print(check_number(5))
print(check_number(-3))
# 実行結果
# Positive
# Negative or Zero

この関数では、引数nの値によって出力される文字が変わります。nが正の数であればPositiveが出力されます。一方、それ以外の場合はNegative or Zeroが出力されます。

if文とリスト内包表記の組み合わせ

リスト内包表記とif文を組み合わせて条件に基づいてリストを作成できます。

numbers = [1, 2, 3, 4, 5]
# 偶数のみを含む新しいリストを作成
even_numbers = [num for num in numbers if num % 2 == 0]
print(even_numbers)
# 実行結果
# [2, 4]

この例では、リストnumbersから偶数のみを抽出して新しいリストeven_numbersを作成しています。さらに、リスト内包表記で一行でif-else文を記述することも可能です。

# 各要素が偶数ならそのまま、奇数なら-1に置き換えるリストを作成
modified_numbers = [num if num % 2 == 0 else -1 for num in numbers]
print(modified_numbers)
# 実行結果
# [-1, 2, -1, 4, -1]

この例では、各数値が偶数であればそのまま、奇数であれば-1に置き換えた新しいリストを作成しています。

複数の条件でif文を一行で書く

複数の条件を持つ場合も、一行でif文を記述することができます。例えば、数値の範囲に基づいて異なる値を返す場合です。

score = 85
grade = "A" if score >= 90 else "B" if score >= 80 else "C" if score >= 70 else "D" if score >= 60 else "F"
print(grade)
# 実行結果
# B

この例では、スコアの値に基づいて適切なグレードが返されます。このように、複数の条件を連続して評価する場合にも条件式が有効です。

最後に

if文を一行で書くことで、条件に基づく処理をシンプルに記述できます。基本的な構文を理解することで、さまざまな場面で活用することができます。是非、日常のコーディングに取り入れて、効率的にプログラミングを行ってください。この記事を読んでいただき、ありがとうございました!質問やフィードバックがあれば、コメント欄に残してください。皆さんの声をもとに、より良いコンテンツを提供していきたいと思います。これからもよろしくお願いします!

私の経歴などについては以下の記事から確認することができます!

ブログランキングに参加しています。ぜひクリックで応援お願いします

ブログランキング・にほんブログ村へ
「#Python」人気ブログランキング

コメント