Python アスタリスク(*)を使用した list や dict 型のアンパック

Python アスタリスク(*)を使用した list や dict 型のアンパック

Pythonでは、listやdict 型のデータを展開して、関数やクラスに実引数を渡すことができます。これをアンパック(unpack)と呼びます。英語でunpackというと”開梱する”などの意味となりますので、要素を取り出すというイメージには適しています。

Pythonでは、listの要素をそれぞれ関数に渡したい場合、次のように書くことができます。

L = ["a", "b", "c"]

print(L[0], L[1], L[2])
# a b c
Python

一方で、アスタリスク(*)を使用すると、次のように簡潔に書くことができます。

print(*L)
# a b c
Python

print()関数のような可変長引数を受け取る関数はもちろん、固定長を受け取る関数に対しても使用することができます。

また、dictの要素をそれぞれ関数に渡すことも可能です。

D = {"a": 1, "b": 2, "c": 3}

print(*D)
# a b c

print(*D.value)
# 1 2 3

print(**D)
# a: 1 b: 2 c: 3
Python

省略しますがtupleに対しても使用可能です。

以上です。

  • URLをコピーしました!
Contents