Python におけるタプルやリストのアンパックと _ の活用方法を解説します。変数を無視するための _ の使い方も紹介します。
Python では、タプルやリストの値を一度に複数の変数に代入する「アンパック(unpacking)」が可能です。
また、使わない変数を _
に代入することで 「この値は無視する」 という意図を明示できます。
本記事では、変数のアンパックの基本から、 _
を活用する方法まで解説します。
Python では タプルやリストの要素を一度に複数の変数に展開(アンパック) できます。
PYTHONx, y = (1, 2) # x = 1, y = 2
リストでも同様に使用可能です。
PYTHONx, y, z = [10, 20, 30] # x = 10, y = 20, z = 30
📌 ポイント
x, y = (1, 2)
のように、右辺の要素を左辺の変数に 順番に対応させる。PYTHONx, y = (1, 2, 3) # ❌ エラー:変数の数が足りない
Python では 使わない変数を _
に代入する ことで、「この値は不要」という意図を表現できます。
PYTHON_, second = (1, 2) # 1 は無視し、second = 2
📌 例
PYTHONcoordinates = (10, 20, 30) _, y, z = coordinates # x を無視し、y = 20, z = 30
✅ メリット
リストやタプルの一部の値を無視したい場合、複数の _
を使用できます。
PYTHONdata = ("ID123", "John", "Doe", 30) _, first_name, _, age = data # last_name を無視
また、リストの最初と最後だけを取得したい場合:
PYTHONdata = [100, 200, 300, 400, 500] first, *_, last = data # first = 100, last = 500
✅ 応用例
_
を複数使うことで 必要なデータだけを抽出 できる。*
を組み合わせると、不要な中間データを無視できる。ループ変数を使わない場合にも _
を利用できます。
PYTHONfor _ in range(3): print("Hello")
✅ ポイント
_
を使うと、ループ変数が不要であることを明示 できる。for i in range(3):
のように i
を定義して未使用にするより、コードがスッキリする。PYTHON>>> 3 + 4 7 >>> _ # 直前の計算結果を取得 7
ただし、通常のスクリプトでは _
に特別な意味はないため、変数として使用可能です。
用途 | 例 | 説明 |
---|---|---|
アンパック時に不要な値を無視 | _, value = (1, 2) | 最初の値を捨て、2 だけ取得 |
ループで使わない値を無視 | for _ in range(5): | ループ変数が不要な場合 |
関数の戻り値の一部を無視 | _, data = get_data() | 使わない戻り値を _ に代入 |
リストの一部を無視 | first, *_, last = my_list | 最初と最後だけ取得 |
REPL で直前の値を取得 | _ | 直前の計算結果を取得 |
✅ Python の _
は「この値は使わない」という意味を持つプレースホルダー であり、コードの可読性を向上させるのに役立ちます。
_
を使うと、「この変数は使わない」ことを明示でき、可読性が向上する。for _ in range(5):
のように、ループ変数が不要な場合にも _
を活用できる。_
は直前の計算結果を参照する特殊な意味を持つが、通常のスクリプトでは自由に使用できる。Python の _
を上手に活用し、コードをより明確に書きましょう。
回 | タイトル | リンク |
---|---|---|
第 1 回 | Python: enumerate関数 | 詳 細 |
第 2 回 | Python: zip 関数の使い方 | 詳 細 |
第 3 回 | Python: zip() と enumerate() の組合せ | 詳 細 |
第 4 回 | Python の正規表現の基礎 | 詳 細 |
第 5 回 | Python の lambda 関数の使い方 | 詳 細 |
第 6 回 | Python の高階関数の基礎 | 詳 細 |
第 7 回 | Python: =, ==, !=, is, is not の使い分け | 詳 細 |
第 8 回 | Python: 変数のアンパックと _ の使い方 | この記事 |
第 9 回 | Python: with 文の使い方 | 詳 細 |
第 10 回 | Python: dictとオブジェクトのキーアクセス | 詳 細 |
当サイトの情報は、一般的な参考情報として提供しております。
正確な情報の掲載に努めておりますが、その内容の正確性・完全性・最新性を保証するものではありません。
記事の内容をご利用の際は、ご自身の責任において判断し、必要に応じて専門家にご相談ください。
当サイトの情報の利用により生じたいかなる損害についても、一切の責任を負いかねますのでご了承ください。
※ 本ページでは、著作権法に基づき、適正な引用の範囲内でコンテンツを紹介しています。
オリジナルの情報は発信元をご確認ください。
もし問題がありましたら、こちら からお問い合わせください。