Подтвердить что ты не робот

Получение одного значения из кортежа python

Есть ли способ получить одно значение из кортежа в python с помощью выражений?

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

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

Я знаю, что могу это сделать:

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

Но это добавит несколько десятков строк к моей функции, удвоив ее длину.

4b9b3361

Ответ 1

Вы можете написать

i = 5 + Tup()[0]

Кортежи можно индексировать точно так же, как списки.

Основное различие между кортежами и списками состоит в том, что кортежи неизменяемы - вы не можете устанавливать элементы кортежа в разные значения или добавлять или удалять элементы из списка. Но кроме этого, в большинстве ситуаций они работают почти одинаково.

Ответ 2

Для тех, кто в будущем ищет ответ, я хотел бы дать более ясный ответ на вопрос

# for making a tuple

MyTuple = (89,32)
MyTupleWithMoreValues = (1,2,3,4,5,6)

# To concatinate tuples
AnotherTuple = MyTuple + MyTupleWithMoreValues
print AnotherTuple

# it should print 89,32,1,2,3,4,5,6

# To get Value from tuple
firstVal = MyTuple[0]
secondVal = MyTuple[1]


# usage is more like a list

# if you got a function that returns tuple than you might do this 
Tup()[0]
Tup()[1]

#or This
v1,v2 = Tup()

Надеюсь, что это облегчит кому-то еще