<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>「ラムダ関数」タグの記事一覧Python Tech</title>
	<atom:link href="https://tech.nkhn37.net/tag/%E3%83%A9%E3%83%A0%E3%83%80%E9%96%A2%E6%95%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://tech.nkhn37.net</link>
	<description>Python学習サイト</description>
	<lastBuildDate>Sun, 26 Oct 2025 05:35:17 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://tech.nkhn37.net/wp-content/uploads/2021/01/cropped-lion-normal-clear-1-32x32.png</url>
	<title>「ラムダ関数」タグの記事一覧Python Tech</title>
	<link>https://tech.nkhn37.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【Python】if文での条件分岐の基本的な使い方</title>
		<link>https://tech.nkhn37.net/python-if-basic/</link>
					<comments>https://tech.nkhn37.net/python-if-basic/#respond</comments>
		
		<dc:creator><![CDATA[naoki-hn]]></dc:creator>
		<pubDate>Thu, 28 Jan 2021 00:00:00 +0000</pubDate>
				<category><![CDATA[if文]]></category>
		<category><![CDATA[elif]]></category>
		<category><![CDATA[else]]></category>
		<category><![CDATA[if]]></category>
		<category><![CDATA[lambda]]></category>
		<category><![CDATA[ラムダ関数]]></category>
		<category><![CDATA[リスト内包表記]]></category>
		<category><![CDATA[三項演算子]]></category>
		<category><![CDATA[基本]]></category>
		<category><![CDATA[条件分岐]]></category>
		<guid isPermaLink="false">https://tech.nkhn37.net/?p=538</guid>

					<description><![CDATA[Pythonにおけるif文での条件分岐の基本的な使い方について解説します。 if 文による条件分岐処理 Pythonでは、ある条件に一致した際に処理を分岐させるためにif文を使用します。 この記事では、Pythonにおけ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Pythonにおける<span class="marker"><strong><code>if</code>文での条件分岐の基本的な使い方</strong></span>について解説します。</p>



<h2 class="wp-block-heading jinr-heading d--bold" id="if-elif-elseによる条件比較による分岐"><code>if</code> 文による条件分岐処理</h2>



<p>Pythonでは、ある条件に一致した際に処理を分岐させるために<span class="marker"><strong><code>if</code>文</strong></span>を使用します。</p>



<p>この記事では、Pythonにおける<code>if</code>文による条件分岐の基本的な使い方と<code>if</code>を用いた三項演算子の使い方について紹介していきます。</p>



<h3 class="wp-block-heading jinr-heading d--bold"><code>if</code> 文の基本的な使い方</h3>



<p>Pythonによる<span class="marker"><strong><code>if</code></strong></span>文の構文は以下になります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">if 条件式A:
    条件式Aが真の場合の処理
elif 条件式B:
    条件式Bが真の場合の処理
else:
    すべての条件式が偽の場合の処理</pre>



<p><span class="marker"><strong><code>if</code></strong></span>文は条件式に一致する場合（真：<code>True</code>）の場合にブロック内の処理に入ります。複数条件がある場合には、<span class="marker"><strong><code>elif</code></strong></span>で条件式を記載します。<code>elif</code>は複数条件がある場合は複数記載することができます。記載したすべての条件式に一致しない（偽：<code>False</code>）の場合には、<span class="marker"><strong><code>else</code></strong></span>のブロックで記載した処理を実行します。</p>



<p>以降で例を使って<code>if</code>文の条件分岐を見ていきましょう。</p>



<h4 class="wp-block-heading jinr-heading d--bold" id="ブール値を使ったif文の条件分岐">ブール値を使った <code>if</code> 文の条件分岐</h4>



<p><code>if</code>文では、条件が<code>True</code>ならば指定された処理を実行し、<code>False</code>なら<code>else</code>の処理が実行されます。</p>



<p>以下は、<code>FLAG</code>に設定した値の内容をチェックして処理を分岐する例になります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">print("FLAGがTrueのとき")
FLAG = True
if FLAG:
    print("正解")
else:
    print("不正解")

print("FLAGがFalseのとき")
FLAG = False
if FLAG:
    print("正解")
else:
    print("不正解")
</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
FLAGがTrueのとき
正解
FLAGがFalseのとき
不正解</pre>



<p><code>FLAG</code>に<code>True</code>を設定した場合、「正解」という文字が表示され、<code>False</code>の時は、「不正解」と表示されます。</p>



<h4 class="wp-block-heading jinr-heading d--bold" id="比較演算子を用いたif文の条件判定">比較演算子を用いた <code>if</code> 文の条件判定</h4>



<p><code>if</code>文の条件式の部分には、もちろん比較演算子を用いた式を指定することができます。</p>



<p>以下は、文字列が等しいかどうかを<code>==</code>演算子を用いた比較式で条件指定し、処理を分岐している例です。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 比較演算子を使った条件分岐
data1 = "japan"
print(f"data1: {data1}, data1 == 'japan'の評価結果: {data1 == 'japan'}")
if data1 == "japan":
    print("Japanese")
else:
    print("Unknown")

data2 = "USA"
print(f"data2: {data2}, data2 == 'japan'の評価結果: {data2 == 'japan'}")
if data2 == "japan":
    print("Japanese")
else:
    print("Unknown")</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
data1: japan, data1 == 'japan'の評価結果: True
Japanese
data2: USA, data2 == 'japan'の評価結果: False
Unknown</pre>



<p>上記例では、文字列が<code>"japan"</code>と等しいかどうかを判定し、等しければ<code>"Japanese"</code>と出力し、等しくなければ<code>"Unknown"</code>と表示するようにしています。</p>



<p>参考に<code>==</code>演算子の結果を<code>print</code>していますが、<code>==</code>演算子は等しければ<code>True</code>を、等しくなければ<code>False</code>を返しています。つまり、<code>if</code>文は比較演算子が評価して返却した結果が<code>True</code>か<code>False</code>かを判定して処理を分岐しているわけです。</p>



<p>上記の<code>==</code>演算子の他にも、Pythonでは以下のような比較演算子を使った条件分岐が可能です。</p>



<figure class="wp-block-table is-style-regular"><table class="has-fixed-layout"><thead><tr><th>比較内容</th><th>演算子</th></tr></thead><tbody><tr><td>等しい</td><td><code>==</code></td></tr><tr><td>等しくない</td><td><code>!=</code></td></tr><tr><td>より小さい</td><td><code>&lt;</code></td></tr><tr><td>以下</td><td><code>&lt;=</code></td></tr><tr><td>より大きい</td><td><code>&gt;</code></td></tr><tr><td>以上</td><td><code>&gt;=</code></td></tr><tr><td>含まれる</td><td><code>in</code></td></tr><tr><td>オブジェクトが同一</td><td><code>is</code></td></tr></tbody></table></figure>



<p>比較演算子での条件分岐について説明しました。<code>if</code>文が<code>True</code>か<code>False</code>かを判定して条件分岐をしているという特徴を考えれば、もちろん比較演算子に限らず、開発者が作った判定関数の返却値を<code>if</code>に指定することで条件分岐させることも可能です。</p>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--simple-iconbox5 ">
			<i class="jif jin-ifont-v2speaker" aria-hidden="true"></i>
			<div class="a--jinr-iconbox">
<p><strong>【<code>==</code> 演算子と <code>is</code> 演算子】</strong></p>



<p><code>is</code> 演算子は、オブジェクトの同一性を比較するために使用します。この演算子は <code>None</code> との比較など特定の状況下で非常に重要で「<code>if var is None:</code>」のように使用します。値を比較する <code>==</code> 演算子とは異なり、オブジェクトの同一性をチェックする点で重要な違いがあるので覚えておきましょう。</p>
</div>
		</div></section>



<h4 class="wp-block-heading jinr-heading d--bold" id="elifを用いた複数の条件判定"><code>elif</code> を用いた複数の条件判定</h4>



<p><code>if</code>文で複数の条件を指定したい場合については、以下のように<span class="marker"><strong><code>elif</code></strong></span>を用います。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">data1 = "japan"
if data1 == "japan":
    print("Japanese")
elif data1 == "USA":
    print("American")
else:
    print("Unknown")

data2 = "USA"
if data2 == "japan":
    print("Japanese")
elif data2 == "USA":
    print("American")
else:
    print("Unknown")

data3 = "China"
if data3 == "japan":
    print("Japanese")
elif data3 == "USA":
    print("American")
else:
    print("Unknown")</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
Japanese
American
Unknown</pre>



<p>上記例では、文字列が<code>"japan"</code>と等しければ<code>"Japanese"</code>を、<code>"USA"</code>であれば<code>"American"</code>を、その他の場合は<code>"Unknown"</code>と表示するようにしています。</p>



<p>上記の例では、1つの<code>elif</code>しか使用していませんが、もちろん条件が複数ある場合には、<code>elif</code>を続けて記載すれば複数条件分岐を実装することができます。</p>



<h4 class="wp-block-heading jinr-heading d--bold">論理演算子 (<code>and</code>、<code>or</code>、<code>not</code>) で条件式を指定する</h4>



<p>分岐する際にの条件式が複数である場合や、条件を否定したもので分岐させるには以下のように論理演算子（<code>and</code>、<code>or</code>、<code>not</code>）を使用することができます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">def is_positive_and_even(number):
    """正の数 かつ 偶数"""
    if number > 0 and number % 2 == 0:
        return True
    else:
        return False


def is_positive_or_even(number):
    """正の数 または 偶数"""
    if number > 0 or number % 2 == 0:
        return True
    else:
        return False


def is_not_positive(number):
    """正の数ではない"""
    if not number > 0:
        return True
    else:
        return False


print("===== 正の数 かつ(and) 偶数")
for i in range(-2, 3):
    print(f"{i:2}: {is_positive_and_even(i)}")

print("===== 正の数 または(or) 偶数")
for i in range(-2, 3):
    print(f"{i:2}: {is_positive_or_even(i)}")

print("===== 正の数ではない(not)")
for i in range(-2, 3):
    print(f"{i:2}: {is_not_positive(i)}")</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
===== 正の数 かつ(and) 偶数
-2: False
-1: False
 0: False
 1: False
 2: True
===== 正の数 または(or) 偶数
-2: True
-1: False
 0: True
 1: True
 2: True
===== 正の数ではない(not)
-2: True
-1: True
 0: True
 1: False
 2: False</pre>



<p>上記例では「正の数 かつ 偶数」「正の数 または 偶数」「正の数ではない」を判定する簡単な判定関数を定義して、-2~2までの数値の判定結果を表示しています。各関数の中の<code>if</code>文では、論理積は<code>and</code>、論理和は<code>or</code>、条件を否定するには<code>not</code>を使用します。</p>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--simple-iconbox5 ">
			<i class="jif jin-ifont-v2speaker" aria-hidden="true"></i>
			<div class="a--jinr-iconbox">
<p><strong>短絡評価 (Short-circuit Evaluation)</strong></p>



<p><code>and</code> 演算子や <code>or</code> 演算子は、評価が不要な場合に残りの部分の評価を省略する場合があります。このような評価を短絡評価 (Short-circuit Evaluation)  と言います。</p>



<p>例えば「<code>A and B</code>」という式があり、<code>A</code> が <code>False</code> と評価されると <code>B</code> を評価することなく式は <code>False</code> になります。また「<code>A or B</code>」という式の場合、<code>A</code> が <code>True</code> と評価されると <code>B</code> は評価することなく <code>True</code> となります。例えば、特定の条件が満たされた場合にのみ思い判定処理を呼び出すようにする場合に便利です。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 関数a()がFalseを返す場合、関数b()は評価されない
result = a() and b()
# 関数a()がTrueを返す場合、関数b()は評価されない
result = a() or b()</pre>
</div>
		</div></section>



<h4 class="wp-block-heading jinr-heading d--bold">複数演算子を連結した条件式の記載</h4>



<p>Pythonでは、例えば「<code>0 &lt;= x and x &lt; 3</code>」のような条件を「<code>0 &lt;= x &lt; 3</code>」のように連結して記載することができます。以下のように<code>if</code>文の条件式に複数演算子を連結した条件式を記載しても問題ありません。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">numbers = range(-3, 4)
print(list(numbers), "\n")

print("===== 複数演算子を連結した条件式")
for i in numbers:
    if 0 &lt;= i &lt; 3:
        print(f"{i:2}: {True}")
    else:
        print(f"{i:2}: {False}")

print("===== andで条件を書く場合")
for i in numbers:
    if i >= 0 and i &lt; 3:
        print(f"{i:2}: {True}")
    else:
        print(f"{i:2}: {False}")</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
[-3, -2, -1, 0, 1, 2, 3] 

===== 複数演算子を連結した条件式
-3: False
-2: False
-1: False
 0: True
 1: True
 2: True
 3: False
===== andで条件を書く場合
-3: False
-2: False
-1: False
 0: True
 1: True
 2: True
 3: False</pre>



<p>上記のように複数演算子を連結した条件式で記載することができます。参考に<code>and</code>条件で書く例も記載しています。複数演算子を連結することで条件がシンプルになり、コードの可読性が向上します。</p>



<h3 class="wp-block-heading jinr-heading d--bold" id="true-false判定の考え方"><code>True</code>、<code>False</code> 判定の考え方</h3>



<p><code>if</code>文の<code>True</code>、<code>False</code>の考え方には覚えておくべきことがあります。<span class="marker"><strong><code>if</code>文の条件はブール値に限りません</strong></span>。Pythonでは、特定の値（<code>0</code>、<code>空文字</code>、<code>None</code>等）は<code>False</code>と判定されます。</p>



<p>以下はPythonで<code>False</code>判定となるものの一覧です。</p>



<figure class="wp-block-table is-style-regular"><table><thead><tr><th>False判定となるもの</th><th>具体的な値</th></tr></thead><tbody><tr><td>ブール値の偽</td><td><code>False</code></td></tr><tr><td>null値</td><td><code>None</code></td></tr><tr><td>整数のゼロ</td><td><code>0</code></td></tr><tr><td>小数のゼロ</td><td><code>0.0</code></td></tr><tr><td>空文字</td><td><code>''</code> または <code>""</code></td></tr><tr><td>空のリスト</td><td><code>[]</code></td></tr><tr><td>空のタプル</td><td><code>()</code></td></tr><tr><td>空の辞書</td><td><code>{}</code></td></tr><tr><td>空の集合</td><td><code>set()</code></td></tr></tbody></table></figure>



<p>例えば、以下の例は空のリストかどうかで判定するようなプログラムです。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 空リストの判定
data_l = []
if data_l:
    print("リストには値が入っています。")
else:
    print("リストは空です。")

data_l = [10, 20, 30]
if data_l:
    print("リストには値が入っています。")
else:
    print("リストは空です。")</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
リストは空です。
リストには値が入っています。</pre>



<p>このように、ブール型に限らずに<code>if</code>文の判定を実行することができるということは覚えておきましょう。</p>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--simple-iconbox5 ">
			<i class="jif jin-ifont-v2speaker" aria-hidden="true"></i>
			<div class="a--jinr-iconbox">
<ul class="wp-block-list jinr-list">
<li>Python の <code>if</code> 文の条件は必ずしもブール値である必要はない</li>



<li><code>null</code> 値である <code>None</code>、数値の <code>0</code>、<code>0.0</code>、空文字、空のリスト、空のタプル、空の辞書、空の集合も <code>False</code> として判定される。</li>
</ul>
</div>
		</div></section>



<h3 class="wp-block-heading jinr-heading d--bold">例外処理との組み合わせ</h3>



<p><code>if</code>文は例外処理(<code>try...except...</code>)と組み合わせることがよく行われます。Pythonにおける例外処理については「<a href="https://tech.nkhn37.net/python-exception-try-except-raise/" target="_blank" rel="noreferrer noopener">例外処理（exception）の基本</a>」を参考にしてください。</p>



<p>例えば以下のような例を考えることができます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">def validate_age(data):
    try:
        age = int(data)
    except ValueError:
        # 入力が整数に変換できない場合
        return "入力は数字である必要があります。"
    else:
        if age &lt; 0:
            # 年齢が負の数の場合
            return "年齢は正の数である必要があります。"
        elif age &lt; 18:
            # 未成年の処理
            return "あなたは未成年です。"
        else:
            # 成人の処理
            return "あなたは成人です。"


print(validate_age(10))
print(validate_age(20))
print(validate_age(-10))
print(validate_age("にじゅう"))</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
あなたは未成年です。
あなたは成人です。
年齢は正の数である必要があります。
入力は数字である必要があります。</pre>



<p>上記例の<code>validate_age</code>関数では、入力データを<code>int</code>に変換しようとして例外が発生した場合には「入力は数字である必要があります。」という文字列を返却します。</p>



<p>それ以外の場合は、<code>if</code>文で分岐した条件に従って返却文字列を返却するように分岐します。</p>



<h2 class="wp-block-heading jinr-heading d--bold">三項演算子で <code>if</code> 文を1行で記載する</h2>



<p>上記で<code>if</code>文の基本的な使い方を紹介してきました。Pythonには、<code>if...else...</code>を使用して条件分岐を用いた式を1行で記載する<span class="marker"><strong>三項演算子</strong></span>と言われる記載方法があります。</p>



<h3 class="wp-block-heading jinr-heading d--bold">三項演算子の基本的な使い方</h3>



<p>三項演算子の構文は以下になります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">条件式が真のときの評価式 if 条件式 else 条件式が偽のときの評価式</pre>



<p>「条件式が真のときの評価式」「条件式」「条件式が偽の時の評価式」の三つの項目から構成されるため「三項」演算子と呼ばれています。以降で条件式（三項演算子）の使い方の例をいくつか見ていきましょう。</p>



<h4 class="wp-block-heading jinr-heading d--bold">条件によって変数に代入する値を切り替える</h4>



<p>条件によって変数に代入する値を切り替えるには以下のように三項演算子を使用します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 三項演算子で条件により設定する値を切り替える
num = 1
result = "even" if num % 2 == 0 else "odd"
print(result)

num = 2
result = "even" if num % 2 == 0 else "odd"
print(result)

# 三項演算子で条件により式を切り替える
num = 3
result = num * 2 if num % 2 == 0 else num * 3
print(result)

num = 4
result = num * 2 if num % 2 == 0 else num * 3
print(result)</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
odd
even
9
8</pre>



<p><code>num = 1</code>と<code>num = 2</code>の例では、条件によって偶数<code>"even"</code>か奇数<code>"odd"</code>といった文字列を<code>result</code>へ設定します。また、<code>num = 3</code>と<code>num = 4</code>の例では、偶数であれば<code>2</code>倍、奇数であれば<code>3</code>倍するような式の結果を<code>result</code>へ設定します。</p>



<p>このように変数に設定する値を条件によって分岐させる場合に<code>if...else...</code>を使った三項演算子の使用が便利です。</p>



<h4 class="wp-block-heading jinr-heading d--bold">リスト内包表記と三項演算子の組み合わせ</h4>



<p>三項演算子は、リスト内包表記と組み合わせて使用すると条件に応じてリストを作成する際の値を分岐させることが簡単にできます。なお、リスト内包表記については「<a href="https://tech.nkhn37.net/python-list-comprehension/" target="_blank" rel="noreferrer noopener">リスト（list）内包表記の使い方</a>」を参考にしてください。</p>



<p>以下の例を見てみましょう。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># リスト内包表記と三項演算子の組み合わせ
result = ["even" if i % 2 == 0 else "odd" for i in range(10)]
print(result)</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
['even', 'odd', 'even', 'odd', 'even', 'odd', 'even', 'odd', 'even', 'odd']</pre>



<p>上記例では、偶数か奇数かで<code>"even"</code>を使うか<code>"odd"</code>を使うかを分岐させながらリストを作成しています。</p>



<h4 class="wp-block-heading jinr-heading d--bold">ラムダ (<code>lambda</code>) 関数と三項演算子の組み合わせ</h4>



<p>三項演算子は、ラムダ(<code>lambda</code>)関数と組み合わせて使用すると条件に応じて返却値が変わるラムダ関数を簡単に表現できます。なお、ラムダ関数については「<a href="https://tech.nkhn37.net/python-lambda/" target="_blank" rel="noreferrer noopener">ラムダ（lambda）関数：無名関数の使い方</a>」を参考にしてください。</p>



<p>以下の例を見てみましょう。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 三項演算子とラムダ関数の組み合わせ
get_even_or_odd = lambda x: "even" if x % 2 == 0 else "odd"

num = 1
print(get_even_or_odd(num))

num = 2
print(get_even_or_odd(num))</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
odd
even</pre>



<p>上記例では偶数の場合は<code>"even"</code>、奇数の場合は<code>"odd"</code>を返却する関数をラムダ関数で定義して、返却値計算で三項演算子を使用しています。</p>



<p>この例ではラムダ関数を変数に代入して使用していますが、pep8やpylint等の構文チェックを使用すると警告が出ると思います。もともとラムダ関数は名前を付けずに使うためのものなので名前を付けるのであれば<code>def</code>で関数宣言しなさいということになのですが、今回はラムダ関数の構文で三項演算子が使えることの紹介で分かりやすくするためにということで理解してください。</p>



<h3 class="wp-block-heading jinr-heading d--bold">三項演算子使用の注意事項</h3>



<p>三項演算子は、条件分岐を1行で記述できるため非常に便利なツールです。しかし、すべての状況で使用するのが適切とは限りませんので注意が必要です。</p>



<p>例えば、複雑な条件分岐や多段の分岐を無理に三項演算子で表現すると、コードの可読性が低くなってしまう可能性があります。極端な例ですが、以下のようなコードはどういった結果になるか想像するのが難しくなります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 不適切な使用例（避けるべき）
result = "A" if score > 90 else "B" if score > 80 else "C" if score > 70 else "D" if score > 60 else "F"</pre>



<p>三項演算子を使用する場合は、簡潔な条件分岐にとどめるようにしましょう。コードの明確さと保守性を考慮して採用を検討することが重要です。</p>



<h2 class="wp-block-heading jinr-heading d--bold">まとめ</h2>



<p>Pythonにおける<span class="marker"><strong><code>if</code>文での条件分岐の基本的な使い方</strong></span>について解説しました。</p>



<p><code>if</code>文による条件分岐の基本的な使い方を例を使いながら紹介しました。また、<code>if...else...</code>を用いた<span class="marker"><strong>三項演算子</strong></span>の使い方についても説明しています。</p>



<p><code>if</code>文はPythonに限らずプログラミング言語では非常に重要な条件分岐構文です。ぜひ、しっかりと使い方を覚えて使いこなせるようになってください。</p>



<section class="wp-block-jinr-blocks-simplebox b--jinr-block-container"><div class="b--jinr-block b--jinr-box d--heading-box8  "><div class="a--simple-box-title d--bold">ソースコード</div><div class="c--simple-box-inner">
<p>上記で紹介しているソースコードについては <a href="https://github.com/nkhn37/python-tech-sample-source/tree/main/python-basic/if" target="_blank" rel="noreferrer noopener">GitHub</a> にて公開しています。参考にしていただければと思います。</p>
</div></div></section>


<section class="b--jinr-block b--jinr-blogcard d--blogcard-hover-up d--blogcard-style1 d--blogcard-mysite t--round "><div class="a--blogcard-label ef">あわせて読みたい</div><a class="o--blogcard-link t--round" href="https://tech.nkhn37.net/python-tech-summary-page/"><div class="c--blogcard-image"><img decoding="async" class="a--blogcard-img-src" width="128" height="72" src="https://tech.nkhn37.net/wp-content/uploads/2024/08/Python-Tech-Pythonプログラミングガイド_new1-640x360.jpg" alt="【Python Tech】プログラミングガイド" /></div><div class="a--blogcard-title d--bold">【Python Tech】プログラミングガイド</div></a></section>]]></content:encoded>
					
					<wfw:commentRss>https://tech.nkhn37.net/python-if-basic/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Disk: Enhanced  を使用したページ キャッシュ

Served from: tech.nkhn37.net @ 2026-05-25 10:44:30 by W3 Total Cache
-->