web-dev-qa-db-fra.com

Obtenir une valeur d'un tuple python

Existe-t-il un moyen d'obtenir une valeur d'un tuple dans python à l'aide d'expressions?

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

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

Je sais que je peux le faire:

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

Mais cela ajouterait quelques dizaines de lignes à ma fonction, en doublant sa longueur.

130
BCS

Tu peux écrire

i = 5 + Tup()[0]

Les tuples peuvent être indexés comme des listes.

La principale différence entre les n-uplets et les listes est que les n-uplets sont immuables - vous ne pouvez pas définir les éléments d'un tuple sur des valeurs différentes, ni ajouter ou supprimer des éléments comme vous le pouvez dans une liste. Mais à part cela, dans la plupart des situations, ils fonctionnent à peu près de la même façon.

180
David Z

Pour tous ceux qui, à l'avenir, cherchent une réponse, j'aimerais donner une réponse beaucoup plus claire à la question.

# 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

# getting a value from a Tuple is similar to a list
firstVal = MyTuple[0]
secondVal = MyTuple[1]

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

# or this
v1,v2 = MyTupleFun()

J'espère que cela clarifie les choses davantage pour quelqu'un.

41
AbdulMueed