タプルから1つの値を取得する


152

式を使用してPythonのタプルから1つの値を取得する方法はありますか?

def tup():
  return (3, "hello")

i = 5 + tup()  # I want to add just the three

私はこれができることを知っています:

(j, _) = tup()
i = 5 + j

しかし、それは私の関数に数十行を追加し、その長さを2倍にします。


1
これ_も単なる変数です。破棄できる値を割り当てるためによく使用されます。しかし、理論的には次の値を取得できます_
Info-Screen

回答:


202

あなたは書ける

i = 5 + tup()[0]

タプルはリストと同じようにインデックスを付けることができます。

タプルとリストの主な違いは、タプルは不変であることです。タプルの要素に異なる値を設定したり、リストのように要素を追加または削除したりすることはできません。それ以外は、ほとんどの状況で、ほとんど同じように機能します。


54

答えを探している将来の誰にとっても、私は質問に対してより明確な答えを提供したいと思います。

# for making a tuple
my_tuple = (89, 32)
my_tuple_with_more_values = (1, 2, 3, 4, 5, 6)

# to concatenate tuples
another_tuple = my_tuple + my_tuple_with_more_values
print(another_tuple)
# (89, 32, 1, 2, 3, 4, 5, 6)

# getting a value from a tuple is similar to a list
first_val = my_tuple[0]
second_val = my_tuple[1]

# if you have a function called my_tuple_fun that returns a tuple,
# you might want to do this
my_tuple_fun()[0]
my_tuple_fun()[1]

# or this
v1, v2 = my_tuple_fun()

これがそれを必要とする人々のために事をさらに明らかにすることを望みます。


1
更新していただきありがとうございます。完全を期すために、タプルのアンパックでアンダースコアの使用を「ダミー」プレースホルダーとして追加することができます。
エミール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.