3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【python】 引数展開 リストの各要素を引数として渡す

Last updated at Posted at 2020-07-21

リストやタプルの各要素を関数の引数として渡す

リスト自体ではなく、リストの要素を一つずつ関数の引数として渡したいとき、
引数の展開「*」を使えば、リストを分解したり添え字をつけたりせず扱うことができます。
(この操作はアンパックとも呼ぶようです。1

例えば、下にある数列$l$の先頭5つ分の要素を半角スペースで繋いで1行で表示したいときは
次のようにできます。

l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# 期待する出力: 0 1 2 3 4

print(l[:5])                            # 出力結果: [0, 1, 2, 3, 4]
print(l[0], l[1], l[2], l[3], l[4])     # 出力結果: 0 1 2 3 4
print(' '.join(list(map(str, l[:5]))))  # 出力結果: 0 1 2 3 4

# ---
print(*l[:5])                           # 出力結果: 0 1 2 3 4

このように、引数のリストやタプルの先頭に「*」を付けることで、
その各要素を各引数として渡せます。

その他

引数の展開「*」は可変長引数「*」と似ていますが、少し違うものです。

ちなみに、辞書型については「**」を付けることで似たようなことができます。2

  1. くろのて

  2. note.nkmk.me

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?