GrammarPrPython

【Python】アンパックを使って要素を取り出す(リスト・タプル・辞書)

Pythonにはアンパック(unpack)と呼ばれる機能があります。 アンパックを使うことで要素を1つずつ取り出して変数に代入することができます。本記事では、リスト、タプル、辞書のアンパックについて解説をします。


Pythonには
実力を証明できる資格があります

PythonにはPython3エンジニア認定基礎試験という試験があります。

試験範囲がPythonチュートリアル(公式ドキュメント)となっているため、Pythonの基礎を全て押さえることができます。

  • 独学で勉強していて、どれくらい理解できているのか調べたい
  • 今の仕事も続けつつ、キャリアの幅を広げたい
  • 新しい技術としてPythonを習得したい

そんな方は是非詳細をご確認ください。

アンパックの基本的な使い方

アンパックの基本構造は以下のようになります。

構文

変数1, 変数2, …, 変数N = 要素1, 要素2, …, 要素N

要素にリストやタプルを指定します。

リストのアンパック

変数をカンマで区切って書く(左辺)と、それぞれの変数にリストの要素(右辺)が代入されます。

冗長な記述を避けていることが分かります。

タプルのアンパック

タプルも同様です。

辞書のアンパック

my_dictをアンパックすると、keyの値が代入されます。

valueの値をアンパックしたい場合はmy_dict.values()とします。

keyとvalueの値をアンパックしたい場合はmy_dict.items()とします。

変数と要素数が合っている必要がある

左辺の変数と右辺の要素数は一致している必要があります。
一致しない場合はValueErrorが発生します。

アスタリスクを使って要素をまとめて代入する

アスタリスクを使えば複数の要素をまとめて代入することができます。

関数の引数にアンパックした値を渡す

関数の引数にリスト、タプル、辞書を渡すことができます。

*でリストやタプルをアンパックして渡します。
**で辞書をアンパックをアンパックして渡します。

まとめ

アンパックは複数の変数扱う場合、コードがシンプルになるメリットがあります。上手く使いこなしていきましょう。

関連記事
【Python】ループ処理で役立つzip関数の使い方
【入門者向け】効率よくPythonを習得する3Step

コメント

タイトルとURLをコピーしました