Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Pythonにおけるアンパッキング:リストとタプルからの値の抽出 | Pythonにおけるパッキングとアンパッキングの習得
Pythonにおける関数型プログラミングの概念
セクション 1.  1
single

single

bookPythonにおけるアンパッキング:リストとタプルからの値の抽出

メニューを表示するにはスワイプしてください

アンパッキングは強力で多用途な概念。タプル、リスト、辞書、range、さらには文字列など、さまざまなイテラブルデータ構造から値を抽出することが可能。この反対の操作がパッキング。多くの場合、これら2つの概念は同時に使用されることが多い。トピックを段階的に解説。

まず、アンパッキングとパッキングを比較。

Pythonでは、1つの代入文でイテラブルから値をパックおよびアンパックできる。パッキングを行うには、変数名の前に* イテラブルアンパッキング演算子を使用。

1234567
# unpacking a, b, c = (1, 2, 3) # a = 1, b = 2, c = 3 print(f"a = {a}, b = {b}, c = {c}") # packing a, b, *c = 1, 2, 3, 4, 5 # a = 1, b = 2, c = [3, 4, 5] print(f"a = {a}, b = {b}, c = {c}")
copy

変数の数と異なる数の値をアンパックしようとすると、エラーが発生。

12
a, b = 1, 2, 3 # ValueError: too many values to unpack a, b, c, d = 1, 2, 3 # ValueError: not enough values to unpack
copy

右辺の値は、タプル、リスト、ジェネレータ、range、辞書、セット、または文字列である場合があります。これらそれぞれの例を見ていきます。

注意

カンマで区切られた値が1行に並んでいて括弧がない場合、それは1つのタプルです。 1, 2, 3 は (1, 2, 3) と同じ意味です

セットは順序のないデータのコレクションです。

# string
a, b, c = "123" #  a = "1", b = "2", c ="3"
# list
a, b, c = [1, 2, 3]   #  a = 1, b = 2, c = 3
# range
a, b, c = range(3) #  a = 0, b = 1, c = 2
# set
a, b, c = {1, 2, 3} #  a = 1, b = 2, c = 3
a, b, c = {3, 2, 1} #  a = 1, b = 2, c = 3

# dict
dict_num = {"one": 1, "two": 2, "three": 3}
a, b, c = dict_num # a = "one", b = "two", c = "three"
a, b, c = dict_num.values() #  a = 1, b = 2, c = 3
a, b, c = dict_num.items() # a = ("one", 1), b = ("two", 2), c = ("three", 3)

# assignment to the list
[a, b, c] = 1, 2, 3  #  a = 1, b = 2, c = 3
[a, b, c] = "123" #  a = "1", b = "2", c ="3"
タスク

スワイプしてコーディングを開始

少し練習してみましょう。

  • タプルがあり、上記の例のようにアンパックする必要があります。

  • name, age, career の変数を使用してください。

  • 結果を確認するために出力してください。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  1
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt