<?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>ナノトイラボ</title>
	<atom:link href="https://nano-toy-lab.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://nano-toy-lab.com</link>
	<description>エンジニアを目指す人を応援するサイト</description>
	<lastBuildDate>Wed, 01 Jul 2026 00:09:56 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://nano-toy-lab.com/wp-content/uploads/2021/04/cropped-245f987f1763f521995a7b5f2a2983b7-scaled-1-32x32.jpg</url>
	<title>ナノトイラボ</title>
	<link>https://nano-toy-lab.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
<atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
<atom:link rel="hub" href="https://websubhub.com/hub"/>
<atom:link rel="self" href="https://nano-toy-lab.com/feed/"/>
	<item>
		<title>【Python】map関数とfilter関数の使い方を初心者向けに徹底解説！</title>
		<link>https://nano-toy-lab.com/python/python-map-filter/</link>
					<comments>https://nano-toy-lab.com/python/python-map-filter/#respond</comments>
		
		<dc:creator><![CDATA[ナノトイラボ]]></dc:creator>
		<pubDate>Wed, 01 Jul 2026 00:09:20 +0000</pubDate>
				<category><![CDATA[Pythonの基礎]]></category>
		<category><![CDATA[徹底解説]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://nano-toy-lab.com/python/python-map-filter/</guid>

					<description><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/07/eyecatch-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p>Pythonのmap関数とfilter関数の使い方を初心者向けに解説。各要素の一括変換や条件での絞り込みを、実際に動くコードと実行結果つきで紹介。リスト内包表記との使い分けや注意点もわかります。]]></description>
										<content:encoded><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/07/eyecatch-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p><p class="wp-block-paragraph">リストの中身をまとめて加工したり、条件に合う要素だけを取り出したりする処理は、Pythonのプログラミングで本当によく登場します。そんなとき「for文でループを回して、新しいリストに追加して…」と書くと、どうしてもコードが長くなりがちですよね。</p><p class="wp-block-paragraph">そこで役立つのが <strong>map関数</strong> と <strong>filter関数</strong> です。この2つを使いこなせると、「全要素を変換する」「条件で絞り込む」といった処理を、たった1行でスッキリ書けるようになります。</p><p class="wp-block-paragraph">この記事では、Python初心者の方に向けて、map関数とfilter関数の基本的な使い方から、2つを組み合わせるテクニック、リスト内包表記との使い分け、そしてつまずきやすい注意点までを、実際に動くコードと実行結果を示しながら丁寧に解説していきます。</p><h2 class="wp-block-heading" id="i-0">map関数とは？</h2><p class="wp-block-paragraph">map関数は、<strong>リストなどの各要素すべてに、同じ処理（関数）をまとめて適用する</strong>ための組み込み関数です。「map（マップ）＝対応づける」という名前のとおり、元の要素を一つひとつ別の値へ変換していくイメージですね。</p><p class="wp-block-paragraph">基本の書き方は次のとおりです。</p><pre class="wp-block-code"><code>map(適用したい関数, 対象のリストなど)</code></pre><p class="wp-block-paragraph">第1引数に「各要素へ行いたい処理」を関数として渡し、第2引数に「処理したいリスト」を渡します。ここで渡す関数は、名前のない使い捨ての関数である<a href="https://nano-toy-lab.com/python/python-lambda/">ラムダ式（lambda）</a>で書くことが多いので、あわせて覚えておくと理解がスムーズになります。</p><h2 class="wp-block-heading" id="i-1">map関数の基本的な使い方</h2><h3 class="wp-block-heading" id="i-2">リストの各要素を2倍にする</h3><p class="wp-block-paragraph">まずはシンプルに、リストのすべての要素を2倍にしてみましょう。</p><pre class="wp-block-code"><code>numbers = [1, 2, 3, 4, 5]

# 各要素を2倍にする
result = map(lambda x: x * 2, numbers)

print(list(result))
# 実行結果: [2, 4, 6, 8, 10]</code></pre><p class="wp-block-paragraph">ここで1つ大切なポイントがあります。map関数が返すのはリストそのものではなく「map オブジェクト」と呼ばれるものです。そのため、中身を確認したり普通のリストとして使いたいときは、上のように <code>list()</code> で囲んでリストに変換してあげる必要があります。</p><h3 class="wp-block-heading" id="i-3">自作の関数を渡す</h3><p class="wp-block-paragraph">ラムダ式だけでなく、<code>def</code> で定義した自分の関数を渡すこともできます。処理が複雑なときは、こちらのほうが読みやすくなります。</p><pre class="wp-block-code"><code>def to_celsius(f):
    return (f - 32) * 5 / 9

fahrenheit = [32, 68, 104]

# 華氏を摂氏に変換する
celsius = map(to_celsius, fahrenheit)

print(list(celsius))
# 実行結果: [0.0, 20.0, 40.0]</code></pre><p class="wp-block-paragraph">華氏の温度が入ったリストを、まとめて摂氏に変換できました。for文を書かずに、リスト全体へ一気に関数を適用できるのがmap関数の魅力です。</p><h3 class="wp-block-heading" id="i-4">複数のリストを同時に処理する</h3><p class="wp-block-paragraph">map関数には、リストを複数渡すこともできます。その場合は、それぞれのリストから同じ位置の要素を取り出して関数に渡してくれます。複数のリストを同時に扱うという意味では<a href="https://nano-toy-lab.com/python/python-zip/">zip関数</a>と似ていますが、mapは同時に変換までしてくれるのが特徴です。</p><pre class="wp-block-code"><code>a = [1, 2, 3]
b = [10, 20, 30]

# 2つのリストの要素を足し合わせる
result = map(lambda x, y: x + y, a, b)

print(list(result))
# 実行結果: [11, 22, 33]</code></pre><h2 class="wp-block-heading" id="i-5">filter関数とは？</h2><p class="wp-block-paragraph">filter関数は、<strong>リストなどの要素の中から、条件に合うものだけを取り出す（絞り込む）</strong>ための組み込み関数です。「filter（フィルター）＝ろ過する」という名前のとおり、条件というフィルターを通して、必要な要素だけを残すイメージです。</p><p class="wp-block-paragraph">基本の書き方は次のとおりです。</p><pre class="wp-block-code"><code>filter(条件を判定する関数, 対象のリストなど)</code></pre><p class="wp-block-paragraph">第1引数には、要素を1つ受け取って <code>True</code> か <code>False</code> を返す関数を渡します。判定の結果が <code>True</code> になった要素だけが残る、というのがfilterの仕組みです。</p><h2 class="wp-block-heading" id="i-6">filter関数の基本的な使い方</h2><h3 class="wp-block-heading" id="i-7">偶数だけを取り出す</h3><p class="wp-block-paragraph">リストの中から偶数だけを取り出してみましょう。2で割った余りが0なら偶数、という条件で判定します。</p><pre class="wp-block-code"><code>numbers = [1, 2, 3, 4, 5, 6]

# 偶数（2で割り切れる数）だけを取り出す
result = filter(lambda x: x % 2 == 0, numbers)

print(list(result))
# 実行結果: [2, 4, 6]</code></pre><p class="wp-block-paragraph">map関数と同じく、filter関数が返すのも「filter オブジェクト」です。中身を確認するときは <code>list()</code> でリストに変換しましょう。</p><h3 class="wp-block-heading" id="i-8">空文字や0を取り除く（第1引数に None）</h3><p class="wp-block-paragraph">filter関数の第1引数に、関数ではなく <code>None</code> を渡すと、「それ自体が偽（False扱い）となる要素」を自動的に取り除いてくれます。空文字や0、空のリストなどを一気に掃除したいときに便利です。</p><pre class="wp-block-code"><code>words = ["apple", "", "banana", "", "cherry"]

# 空文字を取り除く
result = filter(None, words)

print(list(result))
# 実行結果: ['apple', 'banana', 'cherry']</code></pre><h2 class="wp-block-heading" id="i-9">map関数とfilter関数を組み合わせる</h2><p class="wp-block-paragraph">map関数とfilter関数は、組み合わせて使うこともできます。たとえば「偶数だけを取り出して、さらにそれを2乗する」という処理は、次のように書けます。</p><pre class="wp-block-code"><code>numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 偶数だけを取り出して（filter）、それぞれを2乗する（map）
result = map(lambda x: x ** 2, filter(lambda x: x % 2 == 0, numbers))

print(list(result))
# 実行結果: [4, 16, 36, 64, 100]</code></pre><p class="wp-block-paragraph">内側の filter で偶数（2, 4, 6, 8, 10）に絞り込み、その結果を外側の map で2乗しています。ネスト（入れ子）になっていて少し読みにくいので、実際のコードでは処理ごとに変数に分けて書くと、より分かりやすくなります。</p><h2 class="wp-block-heading" id="i-10">リスト内包表記との使い分け</h2><p class="wp-block-paragraph">ここまで読んで「あれ、これって<a href="https://nano-toy-lab.com/python/list-comprehension/">リスト内包表記</a>でも同じことができるのでは？」と気づいた方もいるかもしれません。そのとおりで、map関数とfilter関数の処理は、リスト内包表記でも書けます。</p><pre class="wp-block-code"><code>numbers = [1, 2, 3, 4, 5, 6]

# map / filter を使った書き方
result1 = list(map(lambda x: x * 2, filter(lambda x: x % 2 == 0, numbers)))

# リスト内包表記を使った書き方
result2 = [x * 2 for x in numbers if x % 2 == 0]

print(result1)  # [4, 8, 12]
print(result2)  # [4, 8, 12]</code></pre><p class="wp-block-paragraph">どちらを使っても結果は同じです。一般的に、Pythonでは「シンプルで読みやすい」という理由から、リスト内包表記のほうが好まれる場面が多くなっています。一方で、すでに定義済みの関数をそのまま適用したいときは、map関数を使うとスッキリ書けることもあります。まずは両方の書き方を知っておき、状況に応じて読みやすいほうを選べるようにしておくと安心です。</p><h2 class="wp-block-heading" id="i-11">map・filterを使うときの注意点</h2><p class="wp-block-paragraph">最後に、初心者の方がつまずきやすいポイントを1つ紹介します。map関数やfilter関数が返すオブジェクトは「イテレータ」と呼ばれるもので、<strong>一度中身を取り出すと、2回目は空になってしまう</strong>という性質があります。</p><pre class="wp-block-code"><code>numbers = [1, 2, 3]
result = map(lambda x: x * 2, numbers)

print(list(result))  # [2, 4, 6]
print(list(result))  # [] ← 2回目は空になる！</code></pre><p class="wp-block-paragraph">このように、同じ result を2回 <code>list()</code> で取り出すと、2回目は空のリストになってしまいます。結果を何度も使い回したいときは、最初に <code>list()</code> でリストへ変換して変数に入れておくのがおすすめです。</p><h2 class="wp-block-heading" id="i-12">もっと効率的にPythonを学びたい人へ</h2><p class="wp-block-paragraph">map関数やfilter関数のように、Pythonには「知っていると一気に世界が広がる」便利な機能がたくさんあります。とはいえ、独学だけで進めていると「この書き方で合っているのかな？」「もっと良いやり方があるのでは？」と、つまずいたり不安になったりすることも多いですよね。</p><p class="wp-block-paragraph">そんなときは、プロの講師にマンツーマンで教えてもらえるプログラミングスクールを活用するのも一つの手です。未経験からPythonを習得したい方や、エンジニアへの転職を目指す方に向けて、転職サポートまで用意されているスクールもあります。まずは無料カウンセリングで、自分に合った学び方を相談してみるとイメージがつかみやすいですよ。</p><p class="wp-block-paragraph"><em>※本記事には広告（アフィリエイトリンク）を含みます。</em></p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=4B5R09+8J7SSA+529E+HV7V6" rel="nofollow noopener" target="_blank">Pythonプログラミング｜マンツーマンレッスンで初めてをプロに育てる【Python Winner】</a><img decoding="async" border="0" width="1" height="1" src="https://www12.a8.net/0.gif?a8mat=4B5R09+8J7SSA+529E+HV7V6" alt=""></p>
<h2 class="wp-block-heading" id="i-13">まとめ</h2><p class="wp-block-paragraph">今回は、Pythonのmap関数とfilter関数について解説しました。最後に要点を振り返っておきましょう。</p><ul class="wp-block-list"><li><strong>map関数</strong>は、リストなどの各要素すべてに同じ処理をまとめて適用する関数</li><li><strong>filter関数</strong>は、条件に合う要素だけを取り出して絞り込む関数</li><li>どちらも返り値はリストではないので、<code>list()</code> でリストに変換して使う</li><li>map と filter は組み合わせて「絞り込み＋変換」もできる</li><li>同じ処理はリスト内包表記でも書けるので、読みやすいほうを選ぶとよい</li><li>返り値のイテレータは一度取り出すと空になるため、使い回すときは先にリスト化しておく</li></ul><p class="wp-block-paragraph">map関数とfilter関数を使いこなせると、ループ処理をより短く、読みやすく書けるようになります。ぜひ手元のコードで実際に動かして、感覚をつかんでみてくださいね。</p>]]></content:encoded>
					
					<wfw:commentRss>https://nano-toy-lab.com/python/python-map-filter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Python】datetimeで日付・時刻を扱う方法を初心者向けに徹底解説！</title>
		<link>https://nano-toy-lab.com/python/python-datetime/</link>
					<comments>https://nano-toy-lab.com/python/python-datetime/#respond</comments>
		
		<dc:creator><![CDATA[ナノトイラボ]]></dc:creator>
		<pubDate>Mon, 29 Jun 2026 10:13:50 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Pythonの基礎]]></category>
		<guid isPermaLink="false">https://nano-toy-lab.com/?p=7376</guid>

					<description><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-11-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p>Pythonのdatetimeモジュールで日付・時刻を扱う方法を初心者向けに徹底解説。現在時刻の取得、strftime/strptimeによる文字列との変換、timedeltaを使った日付の計算まで、動くコード付きで分かりやすく紹介します。]]></description>
										<content:encoded><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-11-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p><p class="wp-block-paragraph">Pythonでプログラムを書いていると、「今日の日付を取得したい」「2つの日付の差を計算したい」「日付を見やすい形に整えたい」といった場面によく出くわします。こうした日付・時刻の処理をまとめて引き受けてくれるのが、標準ライブラリの<code>datetime</code>モジュールです。</p>
<p class="wp-block-paragraph">この記事では、<code>datetime</code>モジュールの基本的な使い方を、初心者の方にも分かりやすいように一つずつ丁寧に解説していきます。現在時刻の取得から、文字列との相互変換、日付の計算まで、実際に動くコードと実行結果を見ながら学んでいきましょう。</p>
<h2 class="wp-block-heading" id="i-0">datetimeモジュールとは？</h2>
<p class="wp-block-paragraph"><code>datetime</code>は、日付や時刻を扱うためにPythonに標準で用意されているモジュールです。追加のインストールは不要で、<code>import</code>するだけですぐに使えます。よく使うのは次の4つのクラスです。</p>
<ul class="wp-block-list"><li><code>datetime</code>：日付と時刻の両方を扱う</li><li><code>date</code>：日付（年・月・日）だけを扱う</li><li><code>time</code>：時刻（時・分・秒）だけを扱う</li><li><code>timedelta</code>：日数や時間の「差」を扱う</li></ul>
<p class="wp-block-paragraph">名前が少しややこしいですが、「モジュール名のdatetime」の中に「クラス名のdatetime」がある、という点だけ最初に押さえておくと混乱しません。それでは実際に使っていきましょう。</p>
<h2 class="wp-block-heading" id="i-1">現在の日付・時刻を取得する</h2>
<p class="wp-block-paragraph">まずは一番よく使う「今この瞬間」の取得です。日付と時刻の両方が欲しいときは<code>datetime.now()</code>、日付だけで十分なときは<code>date.today()</code>を使います。</p>
<pre class="wp-block-code"><code>from datetime import datetime, date

now = datetime.now()
print(now)          # 2026-06-29 10:30:45.123456
print(now.year)     # 2026
print(now.month)    # 6
print(now.hour)     # 10

today = date.today()
print(today)        # 2026-06-29</code></pre>
<p class="wp-block-paragraph">取得した<code>datetime</code>オブジェクトは、<code>.year</code>や<code>.month</code>、<code>.hour</code>のように属性へアクセスするだけで、年・月・日・時・分・秒をそれぞれ取り出せます。とてもシンプルですね。</p>
<h2 class="wp-block-heading" id="i-2">好きな日付・時刻を自分で作る</h2>
<p class="wp-block-paragraph">「特定の日付」を表すオブジェクトを作りたいときは、年・月・日などを直接指定します。引数は左から年、月、日、時、分、秒の順で、時刻部分を省略すると0時0分0秒になります。</p>
<pre class="wp-block-code"><code>from datetime import datetime, date

dt = datetime(2026, 12, 25, 18, 30, 0)
print(dt)            # 2026-12-25 18:30:00

d = date(2026, 1, 1)
print(d)             # 2026-01-01
print(d.weekday())   # 3  （0=月曜, 6=日曜なので木曜日）</code></pre>
<p class="wp-block-paragraph"><code>weekday()</code>メソッドを使うと曜日を数字で取得できます。月曜日が0、日曜日が6です。「その日が何曜日か」を判定したいときに便利なので覚えておきましょう。</p>
<h2 class="wp-block-heading" id="i-3">日付を見やすい文字列に変換する（strftime）</h2>
<p class="wp-block-paragraph"><code>datetime</code>オブジェクトをそのまま<code>print</code>すると「2026-06-29 10:30:45.123456」のような形式になります。これを「2026年6月29日」のように好きな形へ整えるのが<code>strftime()</code>メソッドです。書式コード（%Yなど）を組み合わせて指定します。</p>
<pre class="wp-block-code"><code>from datetime import datetime

now = datetime(2026, 6, 29, 9, 5, 30)
print(now.strftime('%Y/%m/%d'))        # 2026/06/29
print(now.strftime('%Y年%m月%d日'))     # 2026年06月29日
print(now.strftime('%H:%M:%S'))        # 09:05:30
print(now.strftime('%Y-%m-%d %H:%M'))  # 2026-06-29 09:05</code></pre>
<p class="wp-block-paragraph">よく使う書式コードを下にまとめました。</p>
<ul class="wp-block-list"><li><code>%Y</code>：西暦4桁（例: 2026）</li><li><code>%m</code>：月の2桁（例: 06）</li><li><code>%d</code>：日の2桁（例: 29）</li><li><code>%H</code>：24時間表記の時（例: 09）</li><li><code>%M</code>：分（例: 05）</li><li><code>%S</code>：秒（例: 30）</li></ul>
<p class="wp-block-paragraph">なお、同じ書式指定はf文字列の中でも使えます。<code>f'{now:%Y/%m/%d}'</code>のように書くと、よりすっきりとした記述になります。f文字列そのものの使い方は<a href="https://nano-toy-lab.com/python/python-f-string/">【Python】f文字列（f-string）の使い方を初心者向けに徹底解説！</a>で詳しく紹介していますので、あわせて読んでみてください。</p>
<h2 class="wp-block-heading" id="i-4">文字列を日付に変換する（strptime）</h2>
<p class="wp-block-paragraph">逆に、「2026-06-29」のような文字列を<code>datetime</code>オブジェクトに変換したいこともあります。たとえばCSVファイルやフォームから受け取った日付は最初は文字列です。これを変換するのが<code>strptime()</code>です。元の文字列がどんな形式かを書式コードで教えてあげるのがポイントです。</p>
<pre class="wp-block-code"><code>from datetime import datetime

text = '2026-06-29 09:05:30'
dt = datetime.strptime(text, '%Y-%m-%d %H:%M:%S')
print(dt)          # 2026-06-29 09:05:30
print(dt.month)    # 6
print(type(dt))    # &lt;class 'datetime.datetime'&gt;</code></pre>
<p class="wp-block-paragraph">文字列のままでは日付の計算ができませんが、<code>strptime()</code>で<code>datetime</code>に変換しておけば、このあと紹介する日付の足し算・引き算ができるようになります。<code>strftime</code>（出力用）と<code>strptime</code>（入力用）は名前が似ているので、「p = parse（読み取り）」と覚えると区別しやすいですよ。</p>
<h2 class="wp-block-heading" id="i-5">日付の差・加算・減算（timedelta）</h2>
<p class="wp-block-paragraph">「3日後の日付は？」「2つの日付は何日離れている？」といった計算には<code>timedelta</code>を使います。<code>datetime</code>同士を引き算すると<code>timedelta</code>が返り、<code>.days</code>で日数を取り出せます。</p>
<pre class="wp-block-code"><code>from datetime import datetime, timedelta

now = datetime(2026, 6, 29)
print(now + timedelta(days=7))    # 2026-07-06 00:00:00
print(now - timedelta(days=30))   # 2026-05-30 00:00:00

start = datetime(2026, 1, 1)
end = datetime(2026, 6, 29)
diff = end - start
print(diff.days)   # 179</code></pre>
<p class="wp-block-paragraph"><code>timedelta</code>には<code>days</code>のほか<code>hours</code>や<code>minutes</code>、<code>weeks</code>も指定できます。たとえば<code>timedelta(weeks=2)</code>で2週間後を求められます。日付を1日ずつずらしながら処理したいときは、for文・range関数と組み合わせると便利です。繰り返し処理に不安がある方は<a href="https://nano-toy-lab.com/python/python_for_range/">Pythonのfor文・range関数を攻略！これを知れば基本的な処理ができる使い方9選！</a>を先に読んでおくとスムーズです。</p>
<p class="wp-block-paragraph">また、計算した日付を一覧として持っておきたい場合は、結果をリストにためていくと扱いやすくなります。リストへの追加方法は<a href="https://nano-toy-lab.com/python/how-to-add-an-element-to-a-list-in-python-append-extend-insert-slice/">Pythonでリストに要素を追加する方法【append, extend, insert】（スライス）</a>で解説していますので参考にしてください。</p>
<h2 class="wp-block-heading" id="i-6">もっと効率的にPythonを学びたい人へ</h2>
<p class="wp-block-paragraph">ここまで<code>datetime</code>の使い方を見てきましたが、「独学だとつまずいたときに質問できる相手がいない」「実務で使えるレベルまで体系的に学びたい」と感じる方も多いのではないでしょうか。そんなときは、マンツーマン指導が受けられるプログラミングスクールを活用するのも一つの手です。未経験からのPython習得や転職サポートに対応したスクールも多く、まずは無料カウンセリングで学習プランを相談してみると、自分に合った進め方が見えてきます。</p>
<p class="wp-block-paragraph"><em>※本記事には広告（アフィリエイトリンク）を含みます。</em></p>

<p><a href="https://px.a8.net/svt/ejp?a8mat=4B5R09+8J7SSA+529E+HV7V6" rel="nofollow noopener" target="_blank">Pythonプログラミング｜マンツーマンレッスンで初めてをプロに育てる【Python Winner】</a><img decoding="async" border="0" width="1" height="1" src="https://www12.a8.net/0.gif?a8mat=4B5R09+8J7SSA+529E+HV7V6" alt=""></p>

<h2 class="wp-block-heading" id="i-7">まとめ</h2>
<p class="wp-block-paragraph">今回は、Pythonの<code>datetime</code>モジュールを使った日付・時刻の扱い方を解説しました。最後に要点を振り返っておきましょう。</p>
<ul class="wp-block-list"><li>現在の日時は<code>datetime.now()</code>、今日の日付は<code>date.today()</code>で取得できる</li><li>年・月・日などは<code>.year</code>のような属性で取り出せる</li><li><code>strftime()</code>で日付を好きな文字列の書式に変換できる</li><li><code>strptime()</code>で文字列を<code>datetime</code>に変換できる（p=parseと覚える）</li><li><code>timedelta</code>で日付の加算・減算や差の計算ができる</li></ul>
<p class="wp-block-paragraph"><code>datetime</code>は、ログの記録や期限の計算、データ集計など実務でも頻繁に登場する重要なモジュールです。まずは現在時刻の取得と<code>strftime</code>での書式変換から、ぜひ手を動かして試してみてくださいね。</p>]]></content:encoded>
					
					<wfw:commentRss>https://nano-toy-lab.com/python/python-datetime/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Python】with構文の使い方を初心者向けに徹底解説！ファイルの自動クローズとは</title>
		<link>https://nano-toy-lab.com/python/python-with-statement/</link>
					<comments>https://nano-toy-lab.com/python/python-with-statement/#respond</comments>
		
		<dc:creator><![CDATA[ナノトイラボ]]></dc:creator>
		<pubDate>Fri, 26 Jun 2026 00:12:27 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Pythonの基礎]]></category>
		<guid isPermaLink="false">https://nano-toy-lab.com/?p=7369</guid>

					<description><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-with-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p>Pythonのwith構文（withステートメント）の使い方を初心者向けに解説。ファイルの読み書きと自動クローズ、try-finallyとの違い、コンテキストマネージャの仕組みまで分かりやすく紹介します。]]></description>
										<content:encoded><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-with-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p><p class="wp-block-paragraph">「ファイルを開いたあとに<code>close()</code>を書き忘れてしまった」「サンプルコードに出てくる<code>with</code>って結局なに？」——Pythonを学び始めると、こんな疑問にぶつかる方は多いのではないでしょうか。実はこの<code>with</code>構文（withステートメント）を使うと、ファイルの後始末を自動でやってくれて、コードもぐっと読みやすくなります。</p>

<p class="wp-block-paragraph">この記事では、Pythonの<code>with</code>構文について、基本的な書き方からファイルの読み書き、<code>with</code>を使わない場合との違い、そして裏側で動いている「コンテキストマネージャ」の仕組みまで、初心者の方にも分かりやすく解説していきます。</p>

<h2 class="wp-block-heading" id="i-0">with構文（withステートメント）とは？</h2>

<p class="wp-block-paragraph"><code>with</code>構文とは、「開始」と「終了」がセットになっている処理を、安全に・自動的に後始末してくれる仕組みです。もっとも代表的な使いどころがファイル操作です。ファイルは「開いたら必ず閉じる」必要がありますが、<code>with</code>を使うとブロックを抜けるときに自動でファイルが閉じられます。</p>

<p class="wp-block-paragraph">基本的な書き方は次のとおりです。</p>

<pre class="wp-block-code"><code>with open("sample.txt", "r", encoding="utf-8") as f:
    data = f.read()
    print(data)

# ここに来た時点で、ファイルfは自動的に閉じられている</code></pre>

<p class="wp-block-paragraph"><code>with</code>のうしろに「開始する処理」（ここでは<code>open()</code>）を書き、<code>as</code>のうしろにその結果を受け取る変数（ここでは<code>f</code>）を書きます。インデントされたブロックの中だけファイルが開いていて、ブロックを抜けると自動的に閉じられる、というのがポイントです。</p>

<h2 class="wp-block-heading" id="i-1">ファイルを読み込んでみよう</h2>

<p class="wp-block-paragraph">それでは実際にファイルを読み込んでみましょう。<code>open()</code>の第2引数<code>"r"</code>は「読み込みモード（read）」を表します。1行ずつ処理したい場合は、<code>for</code>文でファイルオブジェクトをそのままループできます。</p>

<pre class="wp-block-code"><code># sample.txt の中身を1行ずつ表示する
with open("sample.txt", "r", encoding="utf-8") as f:
    for line in f:
        print(line.strip())  # strip()で行末の改行を除去

# 実行結果（sample.txtの中身が出力される）
# Python
# with構文
# 便利です</code></pre>

<p class="wp-block-paragraph">ファイルを1行ずつ読み込んで<code>for</code>文で回す処理は、Pythonの基本中の基本です。<code>for</code>文の使い方そのものに不安がある方は、<a href="https://nano-toy-lab.com/python/python_for_range/">Pythonのfor文・range関数の使い方</a>もあわせて読んでみてください。また、CSVファイルからデータを読み込む実践例は<a href="https://nano-toy-lab.com/python/scraping/">PythonでWebページの見出しを抽出する方法（CSVファイルの扱いも解説）</a>で紹介しています。</p>

<h2 class="wp-block-heading" id="i-2">ファイルに書き込んでみよう</h2>

<p class="wp-block-paragraph">書き込みたいときは、モードを<code>"w"</code>（write）にします。<code>"w"</code>は既存の内容を上書きするモード、<code>"a"</code>（append）は末尾に追記するモードです。</p>

<pre class="wp-block-code"><code># sample.txt に書き込む（既存の内容は上書きされる）
with open("sample.txt", "w", encoding="utf-8") as f:
    f.write("1行目のテキスト
")
    f.write("2行目のテキスト
")

# 末尾に追記したい場合はモードを "a" にする
with open("sample.txt", "a", encoding="utf-8") as f:
    f.write("追記された行
")</code></pre>

<p class="wp-block-paragraph">書き込む文字列に変数の値を埋め込みたいときは、f文字列を使うと便利です。f文字列の詳しい使い方は<a href="https://nano-toy-lab.com/python/python-f-string/">f文字列（f-string）の使い方</a>で解説していますので、あわせてチェックしてみてください。</p>

<h2 class="wp-block-heading" id="i-3">with構文を使わない場合との違い</h2>

<p class="wp-block-paragraph"><code>with</code>を使わずに同じことを書くと、次のようになります。自分で<code>close()</code>を呼ばなければならない点に注目してください。</p>

<pre class="wp-block-code"><code># withを使わない書き方（おすすめしません）
f = open("sample.txt", "r", encoding="utf-8")
data = f.read()
f.close()  # 閉じ忘れに注意！</code></pre>

<p class="wp-block-paragraph">この書き方には弱点があります。もし<code>f.read()</code>の途中でエラーが発生すると、<code>f.close()</code>が実行されず、ファイルが開きっぱなしになってしまうのです。これを防ぐには本来<code>try</code>〜<code>finally</code>でしっかり閉じる必要があります。</p>

<pre class="wp-block-code"><code># try〜finallyで確実に閉じる書き方
f = open("sample.txt", "r", encoding="utf-8")
try:
    data = f.read()
finally:
    f.close()  # エラーが起きても必ず閉じられる</code></pre>

<p class="wp-block-paragraph"><code>with</code>構文は、この<code>try</code>〜<code>finally</code>と同じ「必ず後始末する」働きを、たった1行でやってくれているわけです。エラー処理そのものについて詳しく知りたい方は、<a href="https://nano-toy-lab.com/python/exception-handling-part1/">Pythonの例外処理（try-except）の使い方</a>もぜひ読んでみてください。</p>

<h2 class="wp-block-heading" id="i-4">複数のファイルを同時に開く</h2>

<p class="wp-block-paragraph">1つの<code>with</code>で複数のファイルを同時に開くこともできます。カンマで区切って並べるだけです。あるファイルを読み込んで、別のファイルに書き出す、といった処理がすっきり書けます。</p>

<pre class="wp-block-code"><code># input.txtを読み込んでoutput.txtにコピーする
with open("input.txt", "r", encoding="utf-8") as fr, \
     open("output.txt", "w", encoding="utf-8") as fw:
    for line in fr:
        fw.write(line)

# どちらのファイルもブロックを抜けると自動で閉じられる</code></pre>

<h2 class="wp-block-heading" id="i-5">with構文が動く仕組み（コンテキストマネージャ）</h2>

<p class="wp-block-paragraph">少し発展的な話になりますが、<code>with</code>が使えるオブジェクトには「コンテキストマネージャ」という共通のルールがあります。具体的には、<code>__enter__</code>（開始時の処理）と<code>__exit__</code>（終了時の処理）という2つのメソッドを持っているオブジェクトです。</p>

<p class="wp-block-paragraph"><code>with</code>ブロックに入るときに<code>__enter__</code>が、ブロックを抜けるときに<code>__exit__</code>が自動的に呼ばれます。ファイルの<code>close()</code>は、この<code>__exit__</code>の中で実行されているのです。自分でクラスを作って<code>__enter__</code>と<code>__exit__</code>を定義すれば、独自の<code>with</code>対応オブジェクトを作ることもできます。</p>

<pre class="wp-block-code"><code>class Timer:
    def __enter__(self):
        print("処理を開始します")
        return self
    def __exit__(self, exc_type, exc_value, traceback):
        print("処理を終了します")

with Timer():
    print("メインの処理")

# 実行結果:
# 処理を開始します
# メインの処理
# 処理を終了します</code></pre>

<h2 class="wp-block-heading" id="i-6">もっと効率的にPythonを学びたい人へ</h2>

<p class="wp-block-paragraph">ここまで<code>with</code>構文を解説してきましたが、「独学だとつまずいたときに質問できる相手がいなくて不安…」という方も多いと思います。そんなときは、プロの講師にマンツーマンで教えてもらえるプログラミングスクールを活用するのも一つの方法です。未経験からのPython習得や転職サポート、無料カウンセリングを用意しているスクールも多く、自分の理解度に合わせて効率よく学べます。まずは無料カウンセリングで学習プランだけ相談してみるのもおすすめです。</p>

<p class="wp-block-paragraph"><em>※本記事には広告（アフィリエイトリンク）を含みます。</em></p>


<p><a href="https://px.a8.net/svt/ejp?a8mat=4B5R09+8J7SSA+529E+HV7V6" rel="nofollow noopener" target="_blank">Pythonプログラミング｜マンツーマンレッスンで初めてをプロに育てる【Python Winner】</a><img decoding="async" border="0" width="1" height="1" src="https://www12.a8.net/0.gif?a8mat=4B5R09+8J7SSA+529E+HV7V6" alt=""></p>


<h2 class="wp-block-heading" id="i-7">まとめ</h2>

<p class="wp-block-paragraph">今回はPythonの<code>with</code>構文について解説しました。最後に要点を振り返っておきましょう。</p>

<ul class="wp-block-list"><li><code>with</code>構文は「開始」と「終了」がセットの処理を安全に扱える仕組みで、ファイル操作で特によく使う</li><li><code>with open(...) as f:</code> と書くと、ブロックを抜けるときに自動でファイルが閉じられる</li><li>モードは読み込み<code>"r"</code>・上書き<code>"w"</code>・追記<code>"a"</code> を使い分ける</li><li><code>with</code>は<code>try</code>〜<code>finally</code>と同じ「必ず後始末する」働きを1行で実現してくれる</li><li>カンマで区切れば複数ファイルを同時に開ける</li><li>裏側では<code>__enter__</code>と<code>__exit__</code>を持つ「コンテキストマネージャ」が動いている</li></ul>

<p class="wp-block-paragraph"><code>with</code>構文を使いこなせるようになると、ファイル操作のコードが安全で読みやすくなります。ぜひ実際に手を動かして、ファイルの読み書きを試してみてくださいね。</p>]]></content:encoded>
					
					<wfw:commentRss>https://nano-toy-lab.com/python/python-with-statement/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Python】三項演算子（条件式）の使い方を初心者向けに徹底解説！if文を1行で書く方法</title>
		<link>https://nano-toy-lab.com/python/python-ternary-operator/</link>
					<comments>https://nano-toy-lab.com/python/python-ternary-operator/#respond</comments>
		
		<dc:creator><![CDATA[ナノトイラボ]]></dc:creator>
		<pubDate>Wed, 24 Jun 2026 09:47:03 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Pythonの基礎]]></category>
		<category><![CDATA[徹底解説]]></category>
		<guid isPermaLink="false">https://nano-toy-lab.com/python/python-ternary-operator/</guid>

					<description><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-9-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p>Pythonの三項演算子（条件式）の使い方を初心者向けに徹底解説。「値1 if 条件 else 値2」の基本構文から、ネスト、リスト内包表記やf文字列との組み合わせ、注意点まで丁寧に紹介します。]]></description>
										<content:encoded><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-9-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p><p class="wp-block-paragraph">Pythonでプログラムを書いていると、「条件によって変数に入れる値を変えたい」という場面がよくありますよね。そんなときに<code>if</code>文を使うと、たった1つの値を出し分けるだけなのに4行も書くことになり、「ちょっと面倒だな…」と感じたことはありませんか？</p><p class="wp-block-paragraph">そんなときに便利なのが<strong>三項演算子（条件式）</strong>です。三項演算子を使うと、<code>if-else</code>文を<strong>1行でスッキリ</strong>書くことができます。この記事では、三項演算子の基本構文から、ネストのさせ方、リスト内包表記やf文字列と組み合わせる実用テクニック、そして使うときの注意点までを、初心者の方にも分かりやすく丁寧に解説していきます。</p><h2 class="wp-block-heading" id="i-0">三項演算子（条件式）とは？</h2><p class="wp-block-paragraph">三項演算子とは、<strong>条件によって2つの値のうちどちらかを返す</strong>書き方のことです。Pythonの公式ドキュメントでは「条件式（conditional expression）」と呼ばれています。多くのプログラミング言語には <code>条件 ? 値1 : 値2</code> という記号を使った三項演算子がありますが、Pythonでは <code>if</code> と <code>else</code> という英単語を使って書くのが特徴です。読み下すように自然に書けるので、慣れるととても便利ですよ。</p><h2 class="wp-block-heading" id="i-1">三項演算子の基本の書き方</h2><p class="wp-block-paragraph">Pythonの三項演算子は、次のような構文で書きます。「条件が真のときは値1を、そうでなければ値2を返す」という意味です。</p><pre class="wp-block-code"><code># 三項演算子の基本構文
# 値1 if 条件 else 値2

score = 80
result = "合格" if score &gt;= 60 else "不合格"
print(result)
# 実行結果: 合格</code></pre><p class="wp-block-paragraph">左から「<code>"合格"</code>（条件が真のときの値）」「<code>if score &gt;= 60</code>（条件）」「<code>else "不合格"</code>（条件が偽のときの値）」という順番です。英語の文章のように「合格、ただし60点以上ならね、そうでなければ不合格」と読むとイメージしやすいかもしれません。</p><h2 class="wp-block-heading" id="i-2">if-else文との違いを比較してみよう</h2><p class="wp-block-paragraph">同じ処理を通常の<code>if-else</code>文で書いた場合と比べてみましょう。三項演算子を使うと、4行の処理が1行にまとまることが分かります。</p><pre class="wp-block-code"><code>score = 50

# 通常のif-else文（4行）
if score &gt;= 60:
    result = "合格"
else:
    result = "不合格"

# 三項演算子（1行）
result = "合格" if score &gt;= 60 else "不合格"
print(result)
# 実行結果: 不合格</code></pre><p class="wp-block-paragraph">このように、「条件に応じて変数へ代入する値を切り替えるだけ」のシンプルな処理であれば、三項演算子のほうがコードが短く読みやすくなります。条件分岐そのものの基本をおさらいしたい方は、<a href="https://nano-toy-lab.com/python/if-not-in-list/">if文と演算子（not, in）の使い方を解説した記事</a>もあわせて読んでみてください。</p><h2 class="wp-block-heading" id="i-3">数値の大小を比較して使ってみる</h2><p class="wp-block-paragraph">三項演算子は、2つの数値のうち大きいほう（または小さいほう）を取り出すといった処理にも使えます。</p><pre class="wp-block-code"><code>a = 10
b = 25
big = a if a &gt; b else b
print(big)
# 実行結果: 25</code></pre><p class="wp-block-paragraph"><code>a &gt; b</code> が偽（10は25より大きくない）なので、<code>else</code> 側の <code>b</code> が代入されます。組み込みの <code>max()</code> 関数でも同じことができますが、条件を自由に書けるのが三項演算子の強みです。</p><h2 class="wp-block-heading" id="i-4">三項演算子をネストして使う（elif相当）</h2><p class="wp-block-paragraph">三項演算子は入れ子（ネスト）にすることもできます。これによって、<code>if-elif-else</code> のような3つ以上の分岐を1行で表現できます。</p><pre class="wp-block-code"><code>score = 75
grade = "A" if score &gt;= 80 else "B" if score &gt;= 60 else "C"
print(grade)
# 実行結果: B</code></pre><p class="wp-block-paragraph">左から順に条件が判定され、最初に真になった値が返されます。ただし、ネストを深くしすぎるとかえって読みにくくなるので、2段までを目安にするのがおすすめです。</p><h2 class="wp-block-heading" id="i-5">三項演算子の実用的な使い方</h2><h3 class="wp-block-heading" id="i-6">リスト内包表記と組み合わせる</h3><p class="wp-block-paragraph">三項演算子は<strong>リスト内包表記</strong>の中でもよく使われます。リストの各要素を条件によって変換したいときにとても便利です。</p><pre class="wp-block-code"><code>nums = [1, 2, 3, 4, 5]
labels = ["偶数" if n % 2 == 0 else "奇数" for n in nums]
print(labels)
# 実行結果: ['奇数', '偶数', '奇数', '偶数', '奇数']</code></pre><p class="wp-block-paragraph">リスト内包表記そのものの書き方を詳しく知りたい方は、<a href="https://nano-toy-lab.com/python/list-comprehension/">リスト内包表記の使い方を解説した記事</a>を参考にしてください。内包表記と三項演算子を組み合わせられるようになると、データ処理のコードがぐっと短く書けるようになりますよ。</p><h3 class="wp-block-heading" id="i-7">f文字列の中で使う</h3><p class="wp-block-paragraph">三項演算子は<strong>f文字列（f-string）</strong>の波括弧の中でも使えます。表示するメッセージを条件によって切り替えたいときに役立ちます。</p><pre class="wp-block-code"><code>count = 0
msg = f"通知が{count}件{'あります' if count &gt; 0 else 'ありません'}"
print(msg)
# 実行結果: 通知が0件ありません</code></pre><p class="wp-block-paragraph">f文字列の中で三項演算子を使うときは、内側の文字列のクォートと外側のクォートが衝突しないように注意しましょう。f文字列の基本的な使い方については、<a href="https://nano-toy-lab.com/python/python-f-string/">f文字列（f-string）の使い方を徹底解説した記事</a>で詳しく紹介しています。</p><h2 class="wp-block-heading" id="i-8">三項演算子を使うときの注意点</h2><p class="wp-block-paragraph">便利な三項演算子ですが、使いどころを間違えるとかえってコードが読みにくくなります。次の点に気をつけましょう。</p><ul class="wp-block-list"><li><strong>複雑な処理には使わない</strong>：条件や値が長くなる場合は、素直に通常の<code>if-else</code>文で書いたほうが読みやすくなります。</li><li><strong>ネストは深くしすぎない</strong>：三項演算子を何段も重ねると、どこで何を判定しているのか分かりにくくなります。</li><li><strong>あくまで「値を返す」ための構文</strong>：三項演算子は値を返す式なので、ループや関数呼び出しなどの「処理」を分岐させたい場合は通常の<code>if</code>文を使いましょう。</li></ul><h2 class="wp-block-heading" id="i-9">もっと効率的にPythonを学びたい人へ</h2><p class="wp-block-paragraph">三項演算子のような細かい文法は、実際に手を動かしてコードを書きながら覚えるのが一番の近道です。とはいえ、独学だと「この書き方で合っているのかな？」「エラーの原因が分からない…」と手が止まってしまうこともありますよね。</p><p class="wp-block-paragraph">もし本気でPythonを身につけて、未経験からエンジニア転職まで目指したいなら、<strong>マンツーマン指導</strong>が受けられるプログラミングスクールを活用するのも一つの手です。プロの講師に直接質問できる環境があると、つまずきをすぐに解消できて学習効率が大きく上がります。無料カウンセリングを実施しているスクールも多いので、まずは話を聞いてみて、自分に合うか確かめてみるとよいでしょう。</p><p class="wp-block-paragraph"><em>※本記事には広告（アフィリエイトリンク）を含みます。</em></p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=4B5R09+8J7SSA+529E+HV7V6" rel="nofollow noopener" target="_blank">Pythonプログラミング｜マンツーマンレッスンで初めてをプロに育てる【Python Winner】</a><img decoding="async" border="0" width="1" height="1" src="https://www12.a8.net/0.gif?a8mat=4B5R09+8J7SSA+529E+HV7V6" alt=""></p>
<h2 class="wp-block-heading" id="i-10">まとめ</h2><p class="wp-block-paragraph">今回は、Pythonの三項演算子（条件式）について解説しました。最後に要点を振り返っておきましょう。</p><ul class="wp-block-list"><li>三項演算子は <code>値1 if 条件 else 値2</code> の形で書き、<code>if-else</code>文を1行にまとめられる。</li><li>数値の大小比較や、条件によって変数の値を出し分ける処理に便利。</li><li>ネストすれば <code>elif</code> 相当の3分岐も書けるが、深くしすぎないこと。</li><li>リスト内包表記やf文字列の中でも活用でき、コードを短くスッキリ書ける。</li><li>複雑な処理には無理に使わず、通常の<code>if</code>文と使い分けるのがコツ。</li></ul><p class="wp-block-paragraph">三項演算子を使いこなせるようになると、Pythonのコードがぐっと洗練されます。ぜひ実際に手を動かして試してみてくださいね。</p>]]></content:encoded>
					
					<wfw:commentRss>https://nano-toy-lab.com/python/python-ternary-operator/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Python】zip関数の使い方を初心者向けに徹底解説！複数のリストを同時にループする方法</title>
		<link>https://nano-toy-lab.com/python/python-zip/</link>
					<comments>https://nano-toy-lab.com/python/python-zip/#respond</comments>
		
		<dc:creator><![CDATA[ナノトイラボ]]></dc:creator>
		<pubDate>Mon, 22 Jun 2026 00:09:12 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Pythonの基礎]]></category>
		<guid isPermaLink="false">https://nano-toy-lab.com/python/python-zip/</guid>

					<description><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-8-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p>Pythonのzip関数の使い方を初心者向けに解説。2つ以上のリストを同時にループする方法、辞書への変換、要素数が違う場合の挙動、zip(*)でのunzipまでサンプルコード付きで紹介します。]]></description>
										<content:encoded><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-8-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p><p class="wp-block-paragraph">「名前のリストと点数のリスト、この2つを同時にループ処理したいんだけど、どう書けばいいんだろう？」Pythonを学び始めると、こんな場面に出会うことがありますよね。インデックス番号を使ってforループを回す方法もありますが、コードが少し読みにくくなりがちです。</p><p class="wp-block-paragraph">そんなときに大活躍するのが、今回ご紹介する<strong>zip（ジップ）関数</strong>です。複数のリストをまるでジッパー（チャック）のようにかみ合わせて、1つにまとめてくれる便利な組み込み関数です。</p><p class="wp-block-paragraph">この記事では、Pythonのzip関数について、基本的な使い方から、辞書への変換、要素数が異なる場合の挙動、そして元のリストに戻す「unzip」のテクニックまで、初心者の方にも分かりやすく丁寧に解説していきます。サンプルコードと実行結果を見ながら、一緒にマスターしていきましょう。</p><h2 class="wp-block-heading" id="i-0">zip関数とは？複数のリストをまとめる組み込み関数</h2><p class="wp-block-paragraph">zip関数は、複数のリストやタプルなどから要素を先頭から順番に1つずつ取り出し、それらをペア（組）にしてまとめてくれる組み込み関数です。名前のとおり、ジッパーで2つの列をかみ合わせて1本にするイメージを持つと分かりやすいですね。</p><p class="wp-block-paragraph">zip関数を使うと、複数のリストを<strong>同時にループ処理</strong>できるため、for文をとてもすっきりと書けるようになります。なお、zipが取り出すペアは<a href="https://nano-toy-lab.com/python/python-tuple/">タプル(tuple)</a>という形式になっている点も、あわせて覚えておきましょう。</p><p class="wp-block-paragraph">基本的な書き方は次のとおりです。</p><pre class="wp-block-code"><code>for 変数1, 変数2 in zip(リスト1, リスト2):
    # 処理</code></pre><h2 class="wp-block-heading" id="i-1">zip関数の基本的な使い方</h2><h3 class="wp-block-heading" id="i-2">2つのリストを同時にループする</h3><p class="wp-block-paragraph">まずは、名前のリストと点数のリストを同時にループしてみましょう。</p><pre class="wp-block-code"><code>names = ["田中", "佐藤", "鈴木"]
scores = [85, 92, 78]

for name, score in zip(names, scores):
    print(f"{name}さんの点数は{score}点です")

# 実行結果
# 田中さんの点数は85点です
# 佐藤さんの点数は92点です
# 鈴木さんの点数は78点です</code></pre><p class="wp-block-paragraph">zip(names, scores)とすることで、namesとscoresから同じ位置の要素がペアになって取り出されます。1回目のループではnameに「田中」、scoreに85が入る、という具合ですね。とても直感的に書けるのが分かると思います。</p><h3 class="wp-block-heading" id="i-3">インデックスを使う方法と比べてみよう</h3><p class="wp-block-paragraph">もしzipを使わずに同じ処理を書くと、次のようにインデックス番号を使うことになります。</p><pre class="wp-block-code"><code>names = ["田中", "佐藤", "鈴木"]
scores = [85, 92, 78]

for i in range(len(names)):
    print(f"{names[i]}さんの点数は{scores[i]}点です")</code></pre><p class="wp-block-paragraph">この書き方でも動きますが、names[i]やscores[i]のように毎回インデックスを指定する必要があり、少し読みにくくなりますよね。zipを使えばインデックスを意識せずに済むため、コードがぐっとシンプルになります。range関数を使ったfor文の基本については、<a href="https://nano-toy-lab.com/python/python_for_range/">Pythonのfor文・range関数を攻略！</a>の記事でくわしく解説しているので、あわせて読んでみてください。</p><h3 class="wp-block-heading" id="i-4">3つ以上のリストもまとめられる</h3><p class="wp-block-paragraph">zip関数は2つだけでなく、3つ以上のリストを同時にまとめることもできます。</p><pre class="wp-block-code"><code>names = ["田中", "佐藤", "鈴木"]
scores = [85, 92, 78]
subjects = ["数学", "英語", "国語"]

for name, subject, score in zip(names, subjects, scores):
    print(f"{name}さんの{subject}は{score}点です")

# 実行結果
# 田中さんの数学は85点です
# 佐藤さんの英語は92点です
# 鈴木さんの国語は78点です</code></pre><p class="wp-block-paragraph">リストの数だけ受け取る変数を増やせば、いくつでもまとめてループできます。とても柔軟ですね。</p><h2 class="wp-block-heading" id="i-5">zip関数の結果をリストや辞書に変換する</h2><p class="wp-block-paragraph">zip関数が返すのは「zipオブジェクト」と呼ばれるイテレータで、そのままprintしても中身は表示されません。中身を確認したり再利用したりするには、list()やdict()で変換するのが基本です。</p><h3 class="wp-block-heading" id="i-6">list()でリストに変換する</h3><pre class="wp-block-code"><code>names = ["田中", "佐藤", "鈴木"]
scores = [85, 92, 78]

pairs = list(zip(names, scores))
print(pairs)

# 実行結果
# [("田中", 85), ("佐藤", 92), ("鈴木", 78)]</code></pre><p class="wp-block-paragraph">list()で変換すると、ペアが1つずつタプルになったリストが得られます。こうしたペアのリストは、<a href="https://nano-toy-lab.com/python/list-comprehension/">リスト内包表記</a>と組み合わせて加工するのもおすすめです。</p><h3 class="wp-block-heading" id="i-7">dict()で辞書を作る</h3><p class="wp-block-paragraph">名前をキー、点数を値にしたいときは、dict()を使うと一発で辞書が作れます。</p><pre class="wp-block-code"><code>names = ["田中", "佐藤", "鈴木"]
scores = [85, 92, 78]

score_dict = dict(zip(names, scores))
print(score_dict)

# 実行結果
# {"田中": 85, "佐藤": 92, "鈴木": 78}</code></pre><p class="wp-block-paragraph">2つのリストから辞書を作りたい場面はとても多いので、この書き方は覚えておくと便利です。作った辞書の操作方法については<a href="https://nano-toy-lab.com/python/python-dict/">辞書(dict)の使い方を徹底解説</a>の記事も参考にしてください。</p><h2 class="wp-block-heading" id="i-8">要素数が違うとどうなる？</h2><p class="wp-block-paragraph">zipに渡すリストの要素数がそろっていない場合は、<strong>一番短いリストに合わせて</strong>ループが止まります。</p><pre class="wp-block-code"><code>names = ["田中", "佐藤", "鈴木"]
scores = [85, 92]  # 2つしかない

for name, score in zip(names, scores):
    print(name, score)

# 実行結果
# 田中 85
# 佐藤 92
# （鈴木は対応する点数がないため無視される）</code></pre><p class="wp-block-paragraph">「鈴木」さんは対応する点数がないため、ループの対象になりません。エラーにはならず静かに切り捨てられるので、要素数がずれていないか注意しましょう。なお、短い方に合わせず長い方に合わせたいときは、標準ライブラリのitertools.zip_longestを使う方法もあります。</p><h2 class="wp-block-heading" id="i-9">zip(*)で元のリストに戻す（unzip）</h2><p class="wp-block-paragraph">ペアになったリストを、もう一度それぞれのリストに分解したいときは、アスタリスク(*)を付けてzip(*)とします。いわゆる「unzip（アンジップ）」です。</p><pre class="wp-block-code"><code>pairs = [("田中", 85), ("佐藤", 92), ("鈴木", 78)]

names, scores = zip(*pairs)
print(names)   # ("田中", "佐藤", "鈴木")
print(scores)  # (85, 92, 78)</code></pre><p class="wp-block-paragraph">zip(*pairs)とすることで、各ペアの1番目どうし・2番目どうしがまとめ直されます。返ってくるのはリストではなくタプルになる点に注意してください。リストにしたい場合はlist()で包んであげましょう。</p><h2 class="wp-block-heading" id="i-10">zip関数を使うときの注意点</h2><ul class="wp-block-list"><li>zipオブジェクトは<strong>イテレータ</strong>なので、一度for文で回すと中身が消費され、2回目は空になります。</li><li>繰り返し使いたいときは、list()でリストに変換してから保存しておきましょう。</li><li>要素数が異なるリストを渡すと、もっとも短いリストに合わせて切り捨てられます。</li><li>取り出されるペアはタプルなので、値を書き換えたい場合はリストに変換する必要があります。</li></ul><p class="wp-block-paragraph"><em>※本記事には広告（アフィリエイトリンク）を含みます。</em></p><h2 class="wp-block-heading" id="i-11">もっと効率的にPythonを学びたい人へ</h2><p class="wp-block-paragraph">zip関数のように、Pythonには知っているだけでコードがぐっと書きやすくなる機能がたくさんあります。とはいえ、独学だと「これで合っているのかな？」と不安になったり、エラーの原因が分からず手が止まってしまったりすることもありますよね。</p><p class="wp-block-paragraph">そんなときは、プロの講師にマンツーマンで教えてもらえるプログラミングスクールを活用するのも一つの手です。下記の「Python Winner」は、未経験からのPython習得や転職サポートに対応しており、まずは無料カウンセリングで学習プランを相談できます。本気でエンジニアを目指したい方は、選択肢として検討してみてはいかがでしょうか。</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=4B5R09+8J7SSA+529E+HV7V6" rel="nofollow noopener" target="_blank">Pythonプログラミング｜マンツーマンレッスンで初めてをプロに育てる【Python Winner】</a><img decoding="async" border="0" width="1" height="1" src="https://www12.a8.net/0.gif?a8mat=4B5R09+8J7SSA+529E+HV7V6" alt=""></p>
<h2 class="wp-block-heading" id="i-12">まとめ</h2><p class="wp-block-paragraph">今回は、Pythonのzip関数の使い方について解説しました。最後に要点を振り返っておきましょう。</p><ul class="wp-block-list"><li>zip関数は複数のリストの要素をペアにまとめ、同時にループ処理できる組み込み関数。</li><li>for name, score in zip(names, scores): のように書くと、インデックスを使わずスッキリ書ける。</li><li>3つ以上のリストもまとめられる。</li><li>list()でタプルのリストに、dict()で辞書に変換できる。</li><li>要素数が違う場合は、一番短いリストに合わせて切り捨てられる。</li><li>zip(*pairs)で元のリストに分解（unzip）できる（返り値はタプル）。</li><li>zipオブジェクトはイテレータなので、繰り返し使うならlist()で保存する。</li></ul><p class="wp-block-paragraph">zip関数を使いこなせると、複数のデータをまとめて扱う処理がとても書きやすくなります。ぜひ実際に手を動かして試してみてくださいね。最後までお読みいただき、ありがとうございました。</p>]]></content:encoded>
					
					<wfw:commentRss>https://nano-toy-lab.com/python/python-zip/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Python】sortとsortedの違いと使い方を初心者向けに徹底解説！リストの並び替えを完全マスター</title>
		<link>https://nano-toy-lab.com/python/python-sort-sorted/</link>
					<comments>https://nano-toy-lab.com/python/python-sort-sorted/#respond</comments>
		
		<dc:creator><![CDATA[ナノトイラボ]]></dc:creator>
		<pubDate>Fri, 19 Jun 2026 00:08:43 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Pythonの基礎]]></category>
		<guid isPermaLink="false">https://nano-toy-lab.com/python/python-sort-sorted/</guid>

					<description><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-6-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p>Pythonのsortメソッドとsorted関数の違いを初心者向けに解説。昇順・降順の並び替え、key引数とlambdaを使った応用、辞書のソート、よくあるエラーまで分かりやすく紹介します。]]></description>
										<content:encoded><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-6-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p><p class="wp-block-paragraph">Pythonでリストの中身を「小さい順に並べたい」「点数の高い順にランキングを作りたい」と思ったことはありませんか？そんなときに使うのが <code>sort</code> と <code>sorted</code> です。名前がそっくりなので、初心者の方は「どっちを使えばいいの？」と迷いがちですよね。</p>
<p class="wp-block-paragraph">この記事では、Pythonの <code>sort</code> メソッドと <code>sorted</code> 関数の違いから、基本的な使い方、降順での並び替え、<code>key</code> 引数を使った応用テクニックまで、初心者の方にも分かりやすく丁寧に解説します。読み終えるころには、リストの並び替えを自由自在に扱えるようになっているはずです。</p>
<h2 class="wp-block-heading" id="i-0">sortとsortedの違いをまず押さえよう</h2>
<p class="wp-block-paragraph">どちらも「並び替え（ソート）」を行うものですが、いちばん大きな違いは<strong>元のデータを書き換えるかどうか</strong>です。</p>
<ul class="wp-block-list"><li><code>list.sort()</code>：リスト自身を並び替える（<strong>元のリストが変わる</strong>）。戻り値は <code>None</code>。</li><li><code>sorted(リスト)</code>：並び替えた<strong>新しいリストを返す</strong>（元のリストはそのまま）。</li></ul>
<p class="wp-block-paragraph">「元のデータを残しておきたいなら <code>sorted</code>」「元のリストをそのまま並び替えてしまってよいなら <code>sort</code>」と覚えておくと迷いません。それぞれ詳しく見ていきましょう。</p>
<h2 class="wp-block-heading" id="i-1">list.sort()の使い方</h2>
<h3 class="wp-block-heading" id="i-2">基本：小さい順（昇順）に並び替える</h3>
<p class="wp-block-paragraph"><code>sort()</code> はリストが持つメソッドなので、<code>リスト.sort()</code> の形で呼び出します。引数を指定しなければ、数値は小さい順（昇順）に並び替えられます。</p>
<pre class="wp-block-code"><code>numbers = [3, 1, 4, 1, 5, 9, 2, 6]
numbers.sort()
print(numbers)
# 実行結果: [1, 1, 2, 3, 4, 5, 6, 9]</code></pre>
<p class="wp-block-paragraph">ここで注意したいのが、<code>sort()</code> の戻り値は <code>None</code> だという点です。<code>new = numbers.sort()</code> のように書いても <code>new</code> には <code>None</code> が入ってしまうので、結果を変数に代入しないよう気をつけましょう。</p>
<h3 class="wp-block-heading" id="i-3">降順（大きい順）に並び替える</h3>
<p class="wp-block-paragraph">大きい順に並べたいときは、<code>reverse=True</code> を指定します。</p>
<pre class="wp-block-code"><code>scores = [55, 90, 73, 12, 88]
scores.sort(reverse=True)
print(scores)
# 実行結果: [90, 88, 73, 55, 12]</code></pre>
<h2 class="wp-block-heading" id="i-4">sorted()の使い方</h2>
<h3 class="wp-block-heading" id="i-5">基本：元のリストを変えずに並び替える</h3>
<p class="wp-block-paragraph"><code>sorted()</code> は組み込み関数なので、<code>sorted(リスト)</code> の形で使います。並び替えた結果を新しいリストとして返し、<strong>元のリストはそのまま残る</strong>のが特徴です。</p>
<pre class="wp-block-code"><code>original = [3, 1, 2]
result = sorted(original)
print(result)    # [1, 2, 3]
print(original)  # [3, 1, 2] ← 元のリストはそのまま</code></pre>
<p class="wp-block-paragraph">元のデータを保持したまま、並び替えたバージョンも欲しい——そんな場面では <code>sorted()</code> がぴったりです。なお <code>sorted()</code> も <code>reverse=True</code> で降順にできます。</p>
<p class="wp-block-paragraph">ちなみに、リストを加工して新しいリストを作る方法としては<a href="https://nano-toy-lab.com/python/list-comprehension/">リスト内包表記</a>もよく使われます。並び替えと組み合わせると、より柔軟にデータを処理できるので、あわせて読んでみてください。</p>
<h2 class="wp-block-heading" id="i-6">key引数で並び替えの基準を自由に決める</h2>
<p class="wp-block-paragraph"><code>sort()</code> も <code>sorted()</code> も、<code>key</code> 引数を指定することで「何を基準に並び替えるか」を自由に決められます。たとえば文字列を「長さ順」に並べたいときは、<code>key=len</code> と書きます。</p>
<pre class="wp-block-code"><code>words = ["banana", "apple", "fig", "cherry"]
sorted_words = sorted(words, key=len)
print(sorted_words)
# 実行結果: ['fig', 'apple', 'banana', 'cherry']</code></pre>
<p class="wp-block-paragraph">さらに <code>key</code> に無名関数（ラムダ式）を渡せば、もっと細かい基準を指定できます。次の例は、(名前, 点数) のタプルのリストを「点数の高い順」に並び替えています。</p>
<pre class="wp-block-code"><code>students = [("佐藤", 80), ("鈴木", 65), ("田中", 92)]
students.sort(key=lambda x: x[1], reverse=True)
print(students)
# 実行結果: [('田中', 92), ('佐藤', 80), ('鈴木', 65)]</code></pre>
<p class="wp-block-paragraph"><code>lambda x: x[1]</code> は「各要素の2番目（インデックス1）の値を基準にする」という意味です。ラムダ式そのものについては<a href="https://nano-toy-lab.com/python/python-lambda/">ラムダ式（無名関数）の解説記事</a>でくわしく説明しているので、まだ自信がない方はこちらもチェックしてみてください。</p>
<h2 class="wp-block-heading" id="i-7">辞書を並び替える</h2>
<p class="wp-block-paragraph">辞書（dict）そのものは順番を並び替えるというより、<code>items()</code> で取り出した「キーと値のペア」を <code>sorted()</code> で並び替えるのが定番です。次の例は、科目ごとの点数を「点数の高い順」にランキング化しています。</p>
<pre class="wp-block-code"><code>scores = {"math": 80, "english": 95, "science": 70}
ranking = sorted(scores.items(), key=lambda x: x[1], reverse=True)
print(ranking)
# 実行結果: [('english', 95), ('math', 80), ('science', 70)]</code></pre>
<p class="wp-block-paragraph">辞書の作り方やループ処理の基本をおさらいしたい方は、<a href="https://nano-toy-lab.com/python/python-dict/">辞書(dict)の使い方を徹底解説した記事</a>もあわせてどうぞ。<code>items()</code> の動きが分かると、上のコードがぐっと理解しやすくなります。</p>
<h2 class="wp-block-heading" id="i-8">よくあるエラーと注意点</h2>
<p class="wp-block-paragraph">初心者がつまずきやすいのが、<strong>異なる型が混ざったリストを並び替えようとする</strong>ケースです。数値と文字列が混在していると、比較できずにエラーになります。</p>
<pre class="wp-block-code"><code>mixed = [1, "2", 3]
mixed.sort()
# TypeError: '&lt;' not supported between instances of 'str' and 'int'</code></pre>
<p class="wp-block-paragraph">このエラーが出たときは、リストの中身の型がそろっているかを確認しましょう。数値として並べたいなら <code>int()</code> で数値に変換する、といった前処理が必要です。</p>
<h2 class="wp-block-heading" id="i-9">もっと効率的にPythonを学びたい人へ</h2>
<p class="wp-block-paragraph"><code>sort</code> や <code>sorted</code> のように「使えると便利だけど、独学だと細かい使い分けでつまずきやすい」機能はたくさんあります。本やネットの情報だけで進めていると、エラーの原因が分からず時間だけが過ぎてしまう……というのは、未経験からPythonを学ぶ多くの人が経験する壁です。</p>
<p class="wp-block-paragraph">もし「誰かに直接質問しながら、最短でPythonを身につけたい」と感じているなら、マンツーマン指導が受けられるプログラミングスクールを検討してみるのも一つの手です。未経験からのPython習得や転職サポートに対応しているスクールも多く、無料カウンセリングで自分に合うか相談できるので、まずは気軽に話を聞いてみるとよいでしょう。</p>
<p class="wp-block-paragraph"><em>※本記事には広告（アフィリエイトリンク）を含みます。</em></p>

<p><a href="https://px.a8.net/svt/ejp?a8mat=4B5R09+8J7SSA+529E+HV7V6" rel="nofollow noopener" target="_blank">Pythonプログラミング｜マンツーマンレッスンで初めてをプロに育てる【Python Winner】</a><img decoding="async" border="0" width="1" height="1" src="https://www12.a8.net/0.gif?a8mat=4B5R09+8J7SSA+529E+HV7V6" alt=""></p>

<h2 class="wp-block-heading" id="i-10">まとめ</h2>
<p class="wp-block-paragraph">今回は、Pythonの <code>sort</code> と <code>sorted</code> の違いと使い方を解説しました。最後に要点を振り返っておきましょう。</p>
<ul class="wp-block-list"><li><code>list.sort()</code> は元のリストを直接並び替える（戻り値は <code>None</code>）。</li><li><code>sorted(リスト)</code> は元のリストを変えず、並び替えた新しいリストを返す。</li><li>降順にしたいときは、どちらも <code>reverse=True</code> を指定する。</li><li><code>key</code> 引数（特に <code>lambda</code>）を使えば、長さ順・点数順など好きな基準で並び替えられる。</li><li>異なる型が混ざったリストはソートできず <code>TypeError</code> になるので注意する。</li></ul>
<p class="wp-block-paragraph">並び替えはデータ処理の基本中の基本です。<code>sort</code> と <code>sorted</code> を使い分けられるようになると、Pythonでできることがぐっと広がります。ぜひ手を動かして試してみてくださいね。</p>]]></content:encoded>
					
					<wfw:commentRss>https://nano-toy-lab.com/python/python-sort-sorted/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Python】f文字列（f-string）の使い方を初心者向けに徹底解説！変数の埋め込みから桁揃えまで</title>
		<link>https://nano-toy-lab.com/python/python-f-string/</link>
					<comments>https://nano-toy-lab.com/python/python-f-string/#respond</comments>
		
		<dc:creator><![CDATA[ナノトイラボ]]></dc:creator>
		<pubDate>Wed, 17 Jun 2026 00:09:07 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Pythonの基礎]]></category>
		<guid isPermaLink="false">https://nano-toy-lab.com/python/python-f-string/</guid>

					<description><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-4-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p>Pythonのf文字列（f-string）の使い方を初心者向けに解説。変数や式の埋め込み、小数点・ゼロ埋め・カンマ区切り・桁揃えなどの書式設定まで、実例コード付きで分かりやすく紹介します。]]></description>
										<content:encoded><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-4-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p><p class="wp-block-paragraph">プログラミングを学んでいると、「変数の値を文章の中に組み込んで表示したい」という場面が頻繁に出てきます。たとえば「名前」や「合計金額」を、決まった文章と一緒に出力したいときなどです。文字列を <code>+</code> で連結する方法もありますが、数値を毎回 <code>str()</code> で変換したり、<code>+</code> をたくさん並べたりするのは少し面倒ですよね。</p>
<p class="wp-block-paragraph">そんなときに役立つのが、Python 3.6から導入された <strong>f文字列（f-string）</strong> です。f文字列を使えば、変数や計算結果を文字列の中にスッキリ埋め込むことができ、コードがぐっと読みやすくなります。この記事では、f文字列の基本から、桁揃えやゼロ埋めといった便利な書式設定まで、初心者の方にも分かりやすく解説していきます。</p>
<h2 class="wp-block-heading" id="i-0">f文字列（f-string）とは？</h2>
<p class="wp-block-paragraph">f文字列とは、文字列の先頭に <code>f</code> を付けて、その中の <code>{ }</code>（波括弧）に変数や式を書くことで、値を埋め込める書き方です。「フォーマット済み文字列リテラル（formatted string literal）」の頭文字をとって「f-string」と呼ばれています。</p>
<p class="wp-block-paragraph">言葉で説明するよりも、実際のコードを見たほうが早いので、さっそく基本的な使い方から見ていきましょう。</p>
<h2 class="wp-block-heading" id="i-1">f文字列の基本的な使い方</h2>
<p class="wp-block-paragraph">使い方はとてもシンプルで、<code>f"..."</code> のように文字列の前に <code>f</code> を付け、埋め込みたい変数を <code>{変数名}</code> で囲むだけです。</p>
<pre class="wp-block-code"><code>name = "佐藤"
age = 25

# f文字列を使う場合
print(f"私の名前は{name}です。年齢は{age}歳です。")
# 実行結果: 私の名前は佐藤です。年齢は25歳です。

# 従来の + で連結する書き方と比較
print("私の名前は" + name + "です。年齢は" + str(age) + "歳です。")
# 実行結果: 私の名前は佐藤です。年齢は25歳です。</code></pre>
<p class="wp-block-paragraph"><code>+</code> で連結する書き方と比べると、f文字列のほうが文章の見た目に近く、どんな出力になるか一目で分かりますね。さらに、数値の <code>age</code> をそのまま <code>{age}</code> と書けるのも大きなポイントです。<code>+</code> 連結では <code>str(age)</code> のように文字列へ変換する必要がありましたが、f文字列では自動で文字列に変換してくれます。</p>
<h2 class="wp-block-heading" id="i-2">波括弧の中には式も書ける</h2>
<p class="wp-block-paragraph">f文字列の <code>{ }</code> の中には、変数だけでなく計算式やメソッドの呼び出しなど、Pythonの「式」を書くことができます。</p>
<pre class="wp-block-code"><code>price = 1200
count = 3

# 中括弧の中で計算もできる
print(f"合計金額は{price * count}円です。")
# 実行結果: 合計金額は3600円です。

# メソッドの呼び出しも可能
fruit = "apple"
print(f"大文字にすると{fruit.upper()}になります。")
# 実行結果: 大文字にするとAPPLEになります。</code></pre>
<p class="wp-block-paragraph">このように、わざわざ計算結果を別の変数に入れなくても、その場で処理を書けるのが便利です。文字列を分割したり結合したりする処理と組み合わせたい場合は、<a href="https://nano-toy-lab.com/python/split-join/">文字列を分割・結合する方法（split, join関数）</a>の記事もあわせて読むと理解が深まります。</p>
<h2 class="wp-block-heading" id="i-3">数値の書式設定（桁揃え・ゼロ埋め・小数点）</h2>
<p class="wp-block-paragraph">f文字列の本領が発揮されるのが、数値の書式設定です。<code>{値:書式}</code> のように、コロン <code>:</code> のあとに書式を指定することで、表示を細かく整えられます。</p>
<pre class="wp-block-code"><code>pi = 3.14159265

# 小数点以下2桁に丸める
print(f"円周率は約{pi:.2f}です。")
# 実行結果: 円周率は約3.14です。

# ゼロ埋め（5桁）
num = 42
print(f"番号は{num:05d}です。")
# 実行結果: 番号は00042です。

# 3桁区切り（カンマ）
money = 1234567
print(f"金額は{money:,}円です。")
# 実行結果: 金額は1,234,567円です。</code></pre>
<p class="wp-block-paragraph"><code>:.2f</code> は「小数点以下2桁の浮動小数点数」、<code>:05d</code> は「5桁になるよう0で埋めた整数」、<code>:,</code> は「3桁ごとにカンマ区切り」を表します。とくにゼロ埋めはログの連番やファイル名などでよく使う処理です。f文字列を使わずにゼロ埋めをしたい場合は、<a href="https://nano-toy-lab.com/python/zero-padding/">Pythonで文字列を0埋めする方法（ゼロパディング）</a>で <code>zfill</code> などの方法も紹介していますので、参考にしてみてください。</p>
<h3 class="wp-block-heading" id="i-4">文字列の桁揃え（左寄せ・中央寄せ・右寄せ）</h3>
<p class="wp-block-paragraph">数値だけでなく、文字列の表示位置もそろえられます。<code>&lt;</code> で左寄せ、<code>^</code> で中央寄せ、<code>&gt;</code> で右寄せになり、そのあとの数字で全体の幅を指定します。</p>
<pre class="wp-block-code"><code># 左寄せ・中央寄せ・右寄せ（幅10文字）
word = "Python"
print(f"|{word:&lt;10}|")   # 左寄せ
print(f"|{word:^10}|")   # 中央寄せ
print(f"|{word:&gt;10}|")   # 右寄せ
# 実行結果:
# |Python    |
# |  Python  |
# |    Python|</code></pre>
<p class="wp-block-paragraph">表のように複数の項目をきれいに整列させたいときに役立ちます。</p>
<h2 class="wp-block-heading" id="i-5">辞書の値の埋め込みとデバッグ表示</h2>
<p class="wp-block-paragraph">f文字列の中では、辞書（dict）の値を取り出して埋め込むこともできます。その際、キーを囲むクォートは、外側の文字列と別の種類（外がダブルなら内はシングル）にするのがポイントです。</p>
<pre class="wp-block-code"><code>user = {"name": "鈴木", "score": 95}

# 辞書の値を埋め込む（キーはシングルクォートで指定）
print(f"{user['name']}さんの点数は{user['score']}点です。")
# 実行結果: 鈴木さんの点数は95点です。

# = を付けるとデバッグに便利（Python 3.8以降）
x = 10
y = 20
print(f"{x + y = }")
# 実行結果: x + y = 30</code></pre>
<p class="wp-block-paragraph">辞書そのものの作り方やループ処理についておさらいしたい方は、<a href="https://nano-toy-lab.com/python/python-dict/">辞書(dict)の使い方を初心者向けに徹底解説</a>の記事もチェックしてみてください。また、最後の <code>{x + y = }</code> のように <code>=</code> を付ける書き方はPython 3.8以降で使える便利な機能で、「変数名と値」をセットで表示してくれるため、デバッグ時に重宝します。</p>
<h2 class="wp-block-heading" id="i-6">f文字列を使うときの注意点</h2>
<p class="wp-block-paragraph">便利なf文字列ですが、いくつか注意点もあります。まず、f文字列はPython 3.6以降で使える機能なので、それより古いバージョンでは使えません。また、文字列の中で <code>{</code> や <code>}</code> そのものを表示したいときは、<code>{{</code>、<code>}}</code> のように2つ重ねて書く必要があります。さらに、波括弧の中に複雑な処理を詰め込みすぎると、かえって読みにくくなることもあるため、長い処理は事前に変数へ入れておくのがおすすめです。</p>
<h2 class="wp-block-heading" id="i-7">もっと効率的にPythonを学びたい人へ</h2>
<p class="wp-block-paragraph">f文字列のように、Pythonには知っているだけでコードが一気に読みやすくなる便利な機能がたくさんあります。とはいえ、独学だと「何から学べばいいのか分からない」「エラーが解決できずに手が止まってしまう」と感じる場面も多いものです。</p>
<p class="wp-block-paragraph">もし本気で未経験からPythonを身につけたい、あるいはエンジニアへの転職を目指したいなら、プロのマンツーマン指導が受けられるプログラミングスクールを活用するのも一つの方法です。とくに <strong>Winスクールの「Python Winner」</strong> は、講師がマンツーマンで指導してくれるため、つまずいたところをその場で質問でき、未経験からでも着実にスキルを習得できます。就職・転職のサポートもあり、まずは無料カウンセリングで学習プランを相談できるので、気になる方は一度チェックしてみてはいかがでしょうか。</p>
<p class="wp-block-paragraph"><em>※本記事には広告（アフィリエイトリンク）を含みます。</em></p>

<p><a href="https://px.a8.net/svt/ejp?a8mat=4B5R09+8J7SSA+529E+HV7V6" rel="nofollow noopener" target="_blank">Pythonプログラミング｜マンツーマンレッスンで初めてをプロに育てる【Python Winner】</a><img decoding="async" border="0" width="1" height="1" src="https://www12.a8.net/0.gif?a8mat=4B5R09+8J7SSA+529E+HV7V6" alt=""></p>

<h2 class="wp-block-heading" id="i-8">まとめ</h2>
<p class="wp-block-paragraph">今回は、Pythonのf文字列（f-string）の使い方について解説しました。最後に要点を振り返っておきましょう。</p>
<ul class="wp-block-list"><li>f文字列は文字列の前に <code>f</code> を付け、<code>{ }</code> の中に変数や式を書くことで値を埋め込める</li><li>数値も自動で文字列に変換されるため、<code>str()</code> での変換が不要</li><li><code>{値:.2f}</code> や <code>{値:05d}</code>、<code>{値:,}</code> で小数・ゼロ埋め・カンマ区切りなどの書式設定ができる</li><li><code>&lt;</code> <code>^</code> <code>&gt;</code> で文字列の左寄せ・中央寄せ・右寄せができる</li><li>辞書の値の埋め込みや、<code>{式 = }</code> によるデバッグ表示（Python 3.8以降）も便利</li><li>Python 3.6以降で使える機能で、<code>{</code> 自体を表示したいときは <code>{{ }}</code> と2つ重ねる</li></ul>
<p class="wp-block-paragraph">f文字列を使いこなせるようになると、出力周りのコードが驚くほどスッキリします。ぜひ普段のコードに取り入れて、Pythonをもっと快適に書いていきましょう。</p>]]></content:encoded>
					
					<wfw:commentRss>https://nano-toy-lab.com/python/python-f-string/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Python】set型（集合）の使い方を初心者向けに徹底解説！重複削除や集合演算も紹介！</title>
		<link>https://nano-toy-lab.com/python/python-set/</link>
					<comments>https://nano-toy-lab.com/python/python-set/#respond</comments>
		
		<dc:creator><![CDATA[ナノトイラボ]]></dc:creator>
		<pubDate>Mon, 15 Jun 2026 00:08:44 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Pythonの基礎]]></category>
		<guid isPermaLink="false">https://nano-toy-lab.com/python/python-set/</guid>

					<description><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-3-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p>Pythonのset（集合）型の使い方を初心者向けに解説。波カッコやset()での作り方、add/discardでの追加・削除、和集合・積集合などの集合演算、リストの重複削除やset内包表記まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-3-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p><p class="wp-block-paragraph">Pythonで「リストの中から重複を消したい」「2つのデータに共通する要素だけを取り出したい」と思ったことはありませんか？for文とif文を組み合わせて頑張って書くこともできますが、実はもっとシンプルに解決できる仕組みがPythonには用意されています。それが今回ご紹介する <strong>set（集合）型</strong> です。</p>
<p class="wp-block-paragraph">この記事では、set型の基本的な作り方から、要素の追加・削除、和集合・積集合といった集合演算、そして実務でよく使う「重複削除」のテクニックまで、初心者の方にも分かりやすく丁寧に解説していきます。読み終わるころには、setを使ってコードをスッキリ書けるようになっているはずです。</p>
<h2 class="wp-block-heading" id="i-0">set（集合）型とは？</h2>
<p class="wp-block-paragraph">setとは、<strong>重複しない要素の集まり</strong>を表すPythonのデータ型です。数学で習った「集合」とほぼ同じイメージで、同じ値は1つしか持てず、要素には順序がないという特徴があります。</p>
<p class="wp-block-paragraph">まずは実際に作って、その性質を見てみましょう。波カッコ <code>{}</code> の中に要素をカンマ区切りで書くと、set型になります。</p>
<pre class="wp-block-code"><code>fruits = {"apple", "banana", "orange"}
print(fruits)
# {'banana', 'orange', 'apple'}  （順序は保証されません）

print(type(fruits))
# &lt;class 'set'&gt;</code></pre>
<p class="wp-block-paragraph">注目してほしいのは、出力されたときの順序が書いた順番とは限らないという点です。setは要素の順序を管理しないため、表示順は実行環境によって変わることがあります。「順番を保ちたい」という場合はリストを使いましょう。リストについては、要素の追加方法などをまとめた記事も参考になります。</p>
<h2 class="wp-block-heading" id="i-1">setの作り方（2つの方法）</h2>
<h3 class="wp-block-heading" id="i-2">① 波カッコ {} で直接作る</h3>
<p class="wp-block-paragraph">先ほどのように、波カッコの中に値を並べるだけでsetが作れます。同じ値を複数書いても、自動的に1つにまとめられます。</p>
<pre class="wp-block-code"><code>colors = {"red", "blue", "red", "blue"}
print(colors)
# {'red', 'blue'}  重複は自動で除かれる</code></pre>
<h3 class="wp-block-heading" id="i-3">② set() 関数でリストから作る</h3>
<p class="wp-block-paragraph">既存のリストやタプルを <code>set()</code> 関数に渡すと、重複を取り除いたsetに変換できます。これが「重複削除」で最もよく使うパターンです。</p>
<pre class="wp-block-code"><code>numbers = [1, 2, 2, 3, 3, 3]
unique = set(numbers)
print(unique)
# {1, 2, 3}</code></pre>
<p class="wp-block-paragraph">なお、リストと似た仲間である<a href="https://nano-toy-lab.com/python/python-tuple/">タプル（tuple）</a>からも同じようにsetを作れます。タプルとの違いを整理しておくと、データ型の使い分けがより理解しやすくなりますよ。</p>
<p class="wp-block-paragraph">ひとつ注意点として、<strong>空のsetを作るときは <code>{}</code> ではなく <code>set()</code> と書きます</strong>。<code>{}</code> は空の<a href="https://nano-toy-lab.com/python/python-dict/">辞書（dict）</a>になってしまうためです。これは初心者がつまずきやすいポイントなので、覚えておきましょう。</p>
<pre class="wp-block-code"><code>empty_set = set()    # 空のset
empty_dict = {}      # これは空の辞書（dict）
print(type(empty_set))   # &lt;class 'set'&gt;
print(type(empty_dict))  # &lt;class 'dict'&gt;</code></pre>
<h2 class="wp-block-heading" id="i-4">要素の追加と削除</h2>
<p class="wp-block-paragraph">setに後から要素を追加するには <code>add()</code>、削除するには <code>discard()</code> や <code>remove()</code> を使います。</p>
<pre class="wp-block-code"><code>colors = {"red", "blue"}

colors.add("green")
print(colors)   # {'red', 'blue', 'green'}

colors.discard("red")
print(colors)   # {'blue', 'green'}

# discard は存在しない要素を指定してもエラーにならない
colors.discard("yellow")
print(colors)   # {'blue', 'green'}</code></pre>
<p class="wp-block-paragraph"><code>remove()</code> も削除に使えますが、存在しない要素を指定するとエラー（KeyError）になります。エラーを出したくない場合は <code>discard()</code> を使うと安全です。</p>
<h2 class="wp-block-heading" id="i-5">集合演算（和・積・差・対称差）</h2>
<p class="wp-block-paragraph">setの真骨頂が、この集合演算です。2つのsetを使って「共通する要素」「片方にしかない要素」などを、たった1行で求められます。</p>
<pre class="wp-block-code"><code>a = {1, 2, 3, 4}
b = {3, 4, 5, 6}

print(a | b)  # 和集合（どちらかに含まれる）   {1, 2, 3, 4, 5, 6}
print(a &amp; b)  # 積集合（両方に含まれる）       {3, 4}
print(a - b)  # 差集合（aだけに含まれる）       {1, 2}
print(a ^ b)  # 対称差（どちらか一方だけ）     {1, 2, 5, 6}</code></pre>
<p class="wp-block-paragraph">「2つのリストに共通するユーザーを抽出する」「片方のデータにしか存在しない項目を探す」といった処理が、for文を何重にもネストすることなく書けてしまいます。コードが短くなるだけでなく、処理も高速になるのが嬉しいポイントです。</p>
<h2 class="wp-block-heading" id="i-6">実用例：リストの重複を削除してユニーク数を数える</h2>
<p class="wp-block-paragraph">実務で本当によく使うのが、重複したデータの整理です。例えばメールアドレスのリストから、重複を除いた「実際の人数」を求めてみましょう。</p>
<pre class="wp-block-code"><code>emails = ["a@example.com", "b@example.com", "a@example.com", "c@example.com"]

unique_emails = set(emails)
print(unique_emails)        # {'a@example.com', 'b@example.com', 'c@example.com'}
print(len(unique_emails))   # 3  （ユニークなメール数）</code></pre>
<p class="wp-block-paragraph"><code>set()</code> で囲んで <code>len()</code> で数えるだけ。たった2行で「重複を除いた件数」が分かります。アンケートの回答集計や、データのクリーニングなどで大活躍するテクニックです。</p>
<h2 class="wp-block-heading" id="i-7">set内包表記でスマートに作る</h2>
<p class="wp-block-paragraph">リストに「リスト内包表記」があるように、setにも<strong>set内包表記</strong>があります。波カッコの中に <code>for</code> を書くだけで、条件に合うsetを一気に生成できます。</p>
<pre class="wp-block-code"><code># 0〜4の2乗をsetで作る
squares = {n ** 2 for n in range(5)}
print(squares)   # {0, 1, 4, 9, 16}

# 偶数だけを集める
evens = {n for n in range(10) if n % 2 == 0}
print(evens)     # {0, 2, 4, 6, 8}</code></pre>
<p class="wp-block-paragraph">書き方はリスト内包表記とほとんど同じで、外側を波カッコにするだけです。仕組みをしっかり理解したい方は、<a href="https://nano-toy-lab.com/python/list-comprehension/">リスト内包表記の解説記事</a>とあわせて読むと、内包表記の考え方が一気に身につきますよ。</p>
<h2 class="wp-block-heading" id="i-8">setを使うときの注意点</h2>
<p class="wp-block-paragraph">便利なsetですが、いくつか気をつけたい性質があります。使う前に押さえておきましょう。</p>
<ul class="wp-block-list"><li><strong>順序を持たない</strong>ため、<code>fruits[0]</code> のようなインデックスでのアクセスはできません。</li><li><strong>重複を持てない</strong>ため、同じ値を追加しても要素数は増えません。</li><li>要素にできるのは数値・文字列・タプルなど<strong>変更できない（イミュータブルな）値だけ</strong>で、リストや辞書はsetの要素にできません。</li><li>空のsetは <code>{}</code> ではなく <code>set()</code> で作ります（<code>{}</code> は空の辞書になります）。</li></ul>
<h2 class="wp-block-heading" id="i-9">もっと効率的にPythonを学びたい人へ</h2>
<p class="wp-block-paragraph">ここまでset型の使い方を見てきましたが、独学で進めていると「この書き方で合っているのかな？」「もっと良い方法があるのでは？」と不安になる場面も多いものです。そんなときは、プロに直接質問できる環境があると学習スピードが一気に上がります。</p>
<p class="wp-block-paragraph">マンツーマン指導でつまずきをその場で解消できるスクールなら、未経験からのPython習得や転職サポートまで一気通貫でサポートしてもらえます。まずは無料カウンセリングで、自分に合った学習プランを相談してみるのがおすすめです。</p>
<p class="wp-block-paragraph"><em>※本記事には広告（アフィリエイトリンク）を含みます。</em></p>

<p><a href="https://px.a8.net/svt/ejp?a8mat=4B5R09+8J7SSA+529E+HV7V6" rel="nofollow noopener" target="_blank">Pythonプログラミング｜マンツーマンレッスンで初めてをプロに育てる【Python Winner】</a><img decoding="async" border="0" width="1" height="1" src="https://www12.a8.net/0.gif?a8mat=4B5R09+8J7SSA+529E+HV7V6" alt=""></p>

<h2 class="wp-block-heading" id="i-10">まとめ</h2>
<p class="wp-block-paragraph">今回はPythonのset（集合）型について解説しました。要点を振り返っておきましょう。</p>
<ul class="wp-block-list"><li>setは<strong>重複しない・順序を持たない</strong>要素の集まり。</li><li>作り方は波カッコ <code>{}</code> か <code>set()</code> 関数。空のsetは <code>set()</code> で作る。</li><li><code>add()</code> で追加、<code>discard()</code> / <code>remove()</code> で削除。</li><li><code>|</code>（和）<code>&amp;</code>（積）<code>-</code>（差）<code>^</code>（対称差）で集合演算ができる。</li><li>リストを <code>set()</code> で囲めば<strong>重複削除</strong>が一発。<code>len()</code> でユニーク数も分かる。</li><li>set内包表記を使えば、条件付きのsetもスマートに作れる。</li></ul>
<p class="wp-block-paragraph">リストや辞書、タプルとあわせてsetを使いこなせるようになると、Pythonのデータ処理がぐっと楽になります。ぜひ手を動かして試してみてくださいね。</p>]]></content:encoded>
					
					<wfw:commentRss>https://nano-toy-lab.com/python/python-set/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Python】辞書(dict)の使い方を初心者向けに徹底解説！作り方からループ処理まで完全網羅！</title>
		<link>https://nano-toy-lab.com/python/python-dict/</link>
					<comments>https://nano-toy-lab.com/python/python-dict/#respond</comments>
		
		<dc:creator><![CDATA[ナノトイラボ]]></dc:creator>
		<pubDate>Sun, 14 Jun 2026 11:40:36 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Pythonの基礎]]></category>
		<guid isPermaLink="false">https://nano-toy-lab.com/?p=7333</guid>

					<description><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-2-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p>Pythonの辞書(dict)の使い方を初心者向けに徹底解説。作り方・値の取り出し方・追加・更新・削除・ループ処理・便利なメソッド・辞書内包表記まで、実際に動くサンプルコード付きで紹介します。]]></description>
										<content:encoded><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-2-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p><p class="wp-block-paragraph">Pythonを学び始めると、リストやタプルの次に必ず登場するのが「辞書（dict）」です。「キーと値ってなに？」「リストとはどう違うの？」と戸惑う方も多いのではないでしょうか。この記事では、Pythonの辞書（dict）の作り方から、値の取り出し方、要素の追加・更新・削除、ループ処理、便利なメソッド、そして辞書内包表記までを初心者向けにやさしく解説します。サンプルコードはすべて実際に動く内容なので、ぜひ手を動かしながら読み進めてみてください。</p>
<h2 class="wp-block-heading" id="i-0">辞書（dict）とは？</h2>
<p class="wp-block-paragraph">辞書（dictionary、略してdict）は、「キー（key）」と「値（value）」をペアにして管理するデータ構造です。リストが 0, 1, 2 … という番号（インデックス）で要素を管理するのに対して、辞書は自分で決めた名前（キー）で値を取り出せるのが大きな特徴です。たとえば「国語」というキーに「80点」という値を結びつける、といったイメージですね。</p>
<p class="wp-block-paragraph">リストやタプルとのデータ構造の違いを整理しておきたい方は、先に<a href="https://nano-toy-lab.com/python/how-to-add-an-element-to-a-list-in-python-append-extend-insert-slice/">リストに要素を追加する方法</a>や<a href="https://nano-toy-lab.com/python/python-tuple/">タプル(tuple)の使い方</a>もあわせて読むと、それぞれの使い分けがより分かりやすくなります。</p>
<h2 class="wp-block-heading" id="i-1">辞書の作り方</h2>
<p class="wp-block-paragraph">辞書は波かっこ <code>{}</code> の中に「キー: 値」をカンマ区切りで並べて作ります。空の辞書を作りたいときも <code>{}</code> でOKです。</p>
<pre class="wp-block-code"><code>scores = {"国語": 80, "数学": 95, "英語": 70}
print(scores)
# {'国語': 80, '数学': 95, '英語': 70}

empty = {}
print(type(empty))
# &lt;class 'dict'&gt;</code></pre>
<h2 class="wp-block-heading" id="i-2">値の取り出し方（[] と get）</h2>
<p class="wp-block-paragraph">キーを角かっこ <code>[]</code> で指定すると、対応する値を取り出せます。ただし存在しないキーを指定すると <code>KeyError</code> になってしまうため、エラーを避けたいときは <code>get()</code> メソッドが便利です。</p>
<pre class="wp-block-code"><code>scores = {"国語": 80, "数学": 95, "英語": 70}
print(scores["数学"])
# 95

# get() なら存在しなくてもエラーにならず None を返す
print(scores.get("理科"))
# None

# 第2引数で「無かったとき」の初期値を指定できる
print(scores.get("理科", 0))
# 0</code></pre>
<h2 class="wp-block-heading" id="i-3">要素の追加・更新・削除</h2>
<p class="wp-block-paragraph">辞書に新しいキーを指定して値を代入すると要素が追加されます。すでにあるキーに代入した場合は値が上書き（更新）されます。削除には <code>del</code> を使います。</p>
<pre class="wp-block-code"><code>scores = {"国語": 80, "数学": 95}

# 追加
scores["英語"] = 70
print(scores)
# {'国語': 80, '数学': 95, '英語': 70}

# 更新（既存のキーに代入すると上書きされる）
scores["国語"] = 100
print(scores)
# {'国語': 100, '数学': 95, '英語': 70}

# 削除
del scores["数学"]
print(scores)
# {'国語': 100, '英語': 70}</code></pre>
<h2 class="wp-block-heading" id="i-4">辞書をループ処理する</h2>
<p class="wp-block-paragraph">辞書を <code>for</code> 文で回すと、キーを1つずつ取り出せます。キーと値を同時に取り出したいときは <code>items()</code> メソッドを使うのが定番です。</p>
<pre class="wp-block-code"><code>scores = {"国語": 80, "数学": 95, "英語": 70}

# キーだけ取り出す
for key in scores.keys():
    print(key)
# 国語
# 数学
# 英語

# キーと値を同時に取り出す（items）
for key, value in scores.items():
    print(key, value)
# 国語 80
# 数学 95
# 英語 70</code></pre>
<p class="wp-block-paragraph">for文そのものの基本をもう一度おさらいしたい方は、<a href="https://nano-toy-lab.com/python/python_for_range/">Pythonのfor文・range関数を攻略</a>の記事も参考にしてみてください。</p>
<h2 class="wp-block-heading" id="i-5">よく使う便利なメソッド</h2>
<p class="wp-block-paragraph">辞書には覚えておくと便利なメソッドがいくつもあります。代表的なものをまとめました。</p>
<ul class="wp-block-list"><li><code>keys()</code>：キーの一覧を取得する</li><li><code>values()</code>：値の一覧を取得する</li><li><code>items()</code>：キーと値のペアを取得する</li><li><code>get(キー, 初期値)</code>：エラーを出さずに値を取得する</li><li><code>update(辞書)</code>：複数の要素をまとめて追加・更新する</li><li><code>in</code> 演算子：キーが存在するか確認する</li></ul>
<pre class="wp-block-code"><code>scores = {"国語": 80, "数学": 95}

# 値の一覧をリストにする
print(list(scores.values()))
# [80, 95]

# 複数の要素をまとめて追加・更新
scores.update({"英語": 70, "理科": 60})
print(scores)
# {'国語': 80, '数学': 95, '英語': 70, '理科': 60}

# キーが存在するか確認
print("数学" in scores)
# True</code></pre>
<h2 class="wp-block-heading" id="i-6">辞書内包表記でスマートに作る</h2>
<p class="wp-block-paragraph">リスト内包表記と同じように、辞書も内包表記でコンパクトに作成できます。たとえば「1から5までの数とその2乗」を対応させた辞書は、次のように1行で書けます。</p>
<pre class="wp-block-code"><code># 1から5の数とその2乗を辞書にする
squares = {n: n ** 2 for n in range(1, 6)}
print(squares)
# {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}</code></pre>
<p class="wp-block-paragraph">内包表記の基本的な書き方は<a href="https://nano-toy-lab.com/python/list-comprehension/">リスト内包表記の使い方</a>の記事で詳しく解説しています。考え方は辞書でもほぼ同じなので、あわせてチェックしてみてください。</p>
<h2 class="wp-block-heading" id="i-7">もっと効率的にPythonを学びたい人へ</h2>
<p class="wp-block-paragraph">ここまで辞書の使い方を解説してきましたが、独学だと「自分の書き方が正しいのか分からない」「エラーでつまずいて先に進めない」と感じる場面も出てきます。そんなときは、プロの講師にマンツーマンで質問できる環境があると、つまずきを一気に解消できます。未経験からPythonを習得して転職を目指したい方は、無料カウンセリングで自分に合った学習プランを相談できるプログラミングスクールを活用するのも一つの手です。</p>
<p class="wp-block-paragraph"><em>※本記事には広告（アフィリエイトリンク）を含みます。</em></p>

<p><a href="https://px.a8.net/svt/ejp?a8mat=4B5R09+8J7OXE+529E+HV7V6" rel="nofollow noopener" target="_blank">Pythonプログラミング｜マンツーマンレッスンで初めてをプロに育てる【Python Winner】</a><img decoding="async" border="0" width="1" height="1" src="https://www12.a8.net/0.gif?a8mat=4B5R09+8J7OXE+529E+HV7V6" alt=""></p>

<h2 class="wp-block-heading" id="i-8">まとめ</h2>
<p class="wp-block-paragraph">今回はPythonの辞書（dict）について、基本から実践的な使い方まで解説しました。最後に要点をおさらいしましょう。</p>
<ul class="wp-block-list"><li>辞書は「キー」と「値」をペアで管理するデータ構造</li><li>値の取り出しは <code>[]</code> または <code>get()</code>（存在しないキーでも安全なのは get）</li><li><code>キー = 値</code> で追加・更新、<code>del</code> で削除できる</li><li>ループ処理では <code>items()</code> でキーと値を同時に取得できる</li><li><code>keys()・values()・update()・in</code> など便利なメソッドを使いこなそう</li><li>辞書内包表記を使えば1行でスマートに辞書を作れる</li></ul>
<p class="wp-block-paragraph">辞書はデータをまとめて扱ううえで欠かせない、とても出番の多いデータ構造です。ぜひ実際にコードを書いて、自分のものにしてくださいね。</p>]]></content:encoded>
					
					<wfw:commentRss>https://nano-toy-lab.com/python/python-dict/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Python】タプル(tuple)の使い方を初心者向けに徹底解説！リストとの違いも紹介！</title>
		<link>https://nano-toy-lab.com/python/python-tuple/</link>
					<comments>https://nano-toy-lab.com/python/python-tuple/#respond</comments>
		
		<dc:creator><![CDATA[ナノトイラボ]]></dc:creator>
		<pubDate>Sun, 14 Jun 2026 11:01:27 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Pythonの基礎]]></category>
		<guid isPermaLink="false">https://nano-toy-lab.com/?p=7308</guid>

					<description><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-1-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p>Pythonのタプル(tuple)の使い方を初心者向けに解説します。基本的な作り方やリストとの違い、変更できない特徴、関数の戻り値やアンパック代入など現場で役立つ使い方まで丁寧に紹介します。]]></description>
										<content:encoded><![CDATA[<p><img src="https://nano-toy-lab.com/wp-content/uploads/2026/06/eyecatch-1-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p><p class="wp-block-paragraph">Pythonの勉強を進めていると、<a href="https://nano-toy-lab.com/python/how-to-add-an-element-to-a-list-in-python-append-extend-insert-slice/">リスト</a>や<a href="https://nano-toy-lab.com/python/dictionary-type-array/">辞書</a>に続いて「タプル（tuple）」という言葉が出てきて、「リストと何が違うの？」「いつ使えばいいの？」と戸惑う方は多いのではないでしょうか。</p>
<p class="wp-block-paragraph">タプルはリストとよく似ていますが、「中身を変更できない」という大きな特徴を持っています。この記事では、タプルの基本的な作り方から、リストとの違い、実際の現場でよく使われる便利な使い方まで、初心者の方にも分かりやすく解説していきます。サンプルコードを実際に動かしながら、ぜひ手を動かして覚えていきましょう。</p>
<h2 class="wp-block-heading" id="i-0">タプルとは？リストとの違い</h2>
<p class="wp-block-paragraph">タプル（tuple）とは、複数の値をひとまとめにして扱うためのデータ型です。複数の値を順番に並べて管理できるという点ではリストとよく似ていますが、最大の違いは「一度作ったら中身を変更できない」という点にあります。リスト自体の操作に不安がある方は、<a href="https://nano-toy-lab.com/python/how-to-add-an-element-to-a-list-in-python-append-extend-insert-slice/">リストに要素を追加する方法</a>の記事もあわせて読んでみてください。</p>
<p class="wp-block-paragraph">リストは <code>[ ]</code>（角カッコ）で作るのに対して、タプルは <code>( )</code>（丸カッコ）で作ります。変更できないという性質は一見不便に思えるかもしれませんが、「うっかり書き換えられたくないデータ」を安全に管理できるという大きなメリットになります。</p>
<h2 class="wp-block-heading" id="i-1">タプルの基本的な作り方</h2>
<p class="wp-block-paragraph">それでは、実際にタプルを作ってみましょう。丸カッコの中に、カンマ区切りで値を並べるだけで作成できます。</p>
<pre class="wp-block-code"><code># タプルを作る
fruits = ("りんご", "みかん", "ぶどう")
print(fruits)
# 実行結果: ('りんご', 'みかん', 'ぶどう')

# カッコを省略しても作れます
numbers = 1, 2, 3
print(numbers)
# 実行結果: (1, 2, 3)

# 要素が1つだけのタプルは、末尾にカンマが必要です
single = ("apple",)
print(type(single))
# 実行結果: &lt;class 'tuple'&gt;</code></pre>
<p class="wp-block-paragraph">注目してほしいのが、最後の「要素が1つだけのタプル」です。カッコだけでカンマを付けないと、これはただのカッコと見なされて文字列になってしまいます。要素が1つのタプルを作るときは、末尾にカンマを付けるのを忘れないようにしましょう。</p>
<h2 class="wp-block-heading" id="i-2">タプルの要素にアクセスする</h2>
<p class="wp-block-paragraph">タプルの中身を取り出す方法は、リストと全く同じです。インデックス（要素の番号）を使ってアクセスでき、番号は0から始まります。スライスや繰り返し処理（for文）にもそのまま使えます。</p>
<pre class="wp-block-code"><code>colors = ("赤", "青", "緑")

# インデックスでアクセス（0から始まります）
print(colors[0])    # 実行結果: 赤
print(colors[-1])   # 実行結果: 緑

# スライスで一部を取り出す
print(colors[0:2])  # 実行結果: ('赤', '青')

# 繰り返し処理にも使えます
for color in colors:
    print(color)
# 実行結果:
# 赤
# 青
# 緑</code></pre>
<h2 class="wp-block-heading" id="i-3">タプルは変更できない（イミュータブル）</h2>
<p class="wp-block-paragraph">タプルの最も重要な特徴が、この「変更できない」という性質です。このような変更できないデータ型のことを、専門用語で「イミュータブル（immutable）」と呼びます。試しにタプルの中身を書き換えようとすると、エラーが発生します。</p>
<pre class="wp-block-code"><code>point = (10, 20)

# 値を変更しようとするとエラーになります
point[0] = 100
# 実行結果: TypeError: 'tuple' object does not support item assignment</code></pre>
<p class="wp-block-paragraph">このように、タプルは要素の代入や追加・削除ができません。「途中で書き換わってほしくない定数のようなデータ」を扱いたいときに、タプルはとても役立ちます。</p>
<h2 class="wp-block-heading" id="i-4">タプルの便利な使い方</h2>
<p class="wp-block-paragraph">「変更できないなら、リストだけ使えばいいのでは？」と思うかもしれません。しかし、タプルはPythonの現場で本当によく登場します。代表的な2つの使い方を見てみましょう。</p>
<h3 class="wp-block-heading" id="i-5">関数から複数の値をまとめて返す</h3>
<p class="wp-block-paragraph">Pythonの関数は、タプルを使うことで複数の値を一度に返すことができます。最小値と最大値を同時に返す関数を作ってみましょう。</p>
<pre class="wp-block-code"><code>def get_min_max(numbers):
    return min(numbers), max(numbers)

result = get_min_max([3, 1, 8, 5])
print(result)
# 実行結果: (1, 8)</code></pre>
<h3 class="wp-block-heading" id="i-6">アンパック代入で複数の変数に分ける</h3>
<p class="wp-block-paragraph">タプルの中身は、複数の変数にまとめて代入することができます。これを「アンパック代入」と呼びます。同じ仕組みは<a href="https://nano-toy-lab.com/python/list-unpacking/">リストのアンパック</a>でも使えるので、こちらの記事も参考になりますよ。先ほどの関数の戻り値を、そのまま2つの変数で受け取ってみましょう。</p>
<pre class="wp-block-code"><code># タプルの中身を複数の変数にまとめて代入できます
low, high = get_min_max([3, 1, 8, 5])
print(low)   # 実行結果: 1
print(high)  # 実行結果: 8

# 変数の値の入れ替えも一行でできます
a, b = 1, 2
a, b = b, a
print(a, b)  # 実行結果: 2 1</code></pre>
<p class="wp-block-paragraph">特に最後の「a, b = b, a」という書き方は、2つの変数の値を入れ替える便利なテクニックとして、実際のコードでもよく使われます。</p>
<h2 class="wp-block-heading" id="i-7">タプルとリストの使い分け</h2>
<p class="wp-block-paragraph">最後に、タプルとリストをどう使い分ければよいのか、目安をまとめておきます。</p>
<ul class="wp-block-list"><li><strong>タプルを使う場面</strong>：曜日の名前や座標（x, y）など、後から変更されたくない固定のデータを扱うとき。</li><li><strong>リストを使う場面</strong>：要素の追加・削除・並べ替えなど、中身を頻繁に変更したいとき。</li><li><strong>速度面</strong>：タプルはリストよりも少しだけ動作が速く、メモリの使用も効率的です。</li></ul>
<p class="wp-block-paragraph">迷ったときは「あとで変更するかどうか」で判断するとよいでしょう。なお、リストをより便利に扱う書き方として<a href="https://nano-toy-lab.com/python/list-comprehension/">リスト内包表記</a>もあるので、慣れてきたらぜひチェックしてみてください。変更しないデータならタプル、変更するデータならリスト、と覚えておけば失敗しません。</p>
<h2 class="wp-block-heading" id="i-8">もっと効率的にPythonを学びたい人へ</h2>
<p class="wp-block-paragraph">ここまでタプルの使い方を解説してきましたが、独学で学習を進めていると「この書き方で合っているのかな？」「エラーの原因が分からない」と、一人で悩んで手が止まってしまうこともありますよね。</p>
<p class="wp-block-paragraph">そんなときは、プログラミングスクールでプロの講師にマンツーマンで教えてもらうのも一つの方法です。未経験からのPython習得や、エンジニアへの転職サポートに対応したスクールもあり、つまずきやすいポイントをその場で質問しながら効率よく学べます。多くのスクールでは無料カウンセリングも用意されているので、まずは気軽に相談してみると、自分に合った学習プランが見えてきますよ。</p>
<p class="wp-block-paragraph"><em>※本記事には広告（アフィリエイトリンク）を含みます。</em></p>

<p><a href="https://px.a8.net/svt/ejp?a8mat=4B5R09+8J7SSA+529E+HV7V6" rel="nofollow noopener" target="_blank">Pythonプログラミング｜マンツーマンレッスンで初めてをプロに育てる【Python Winner】</a><img decoding="async" border="0" width="1" height="1" src="https://www12.a8.net/0.gif?a8mat=4B5R09+8J7SSA+529E+HV7V6" alt=""></p>

<h2 class="wp-block-heading" id="i-9">まとめ</h2>
<p class="wp-block-paragraph">今回は、Pythonのタプル（tuple）について解説しました。最後に要点を振り返っておきましょう。</p>
<ul class="wp-block-list"><li>タプルは丸カッコで作る、複数の値をまとめて扱うデータ型です。</li><li>最大の特徴は「一度作ると中身を変更できない（イミュータブル）」という点です。</li><li>要素が1つだけのタプルは、末尾にカンマを付ける必要があります。</li><li>要素へのアクセスやfor文での繰り返しは、リストと同じように使えます。</li><li>関数から複数の値を返したり、アンパック代入で変数に分けたりするときに活躍します。</li><li>変更しないデータはタプル、変更するデータはリスト、と使い分けましょう。</li></ul>
<p class="wp-block-paragraph">タプルはリストと並んでPythonの基礎となるデータ型です。ぜひ実際にコードを書いて、その便利さを体感してみてくださいね。</p>]]></content:encoded>
					
					<wfw:commentRss>https://nano-toy-lab.com/python/python-tuple/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
