Creation tuple
Résolu
JFL
-
JFL -
JFL -
Bonjour,
Je n'arrive pas à récupérer le deuxième tuple
D'avance merci beaucoup.
Je n'arrive pas à récupérer le deuxième tuple
fin(ici égal à
(10,11)) dans ma fonction
test. Sauriez-vous me dire comment sortir de cette impasse ?
D'avance merci beaucoup.
def test(debut, fin):
x = [((debut), (fin))]
print(x)
(test (0,1),(10,11))
4 réponses
-
Bonjour,
De nombreuses solutions
def test(debut, fin): x = [(debut), (fin)] print(x) x = fin print(x) x = fin[0], fin[1] print(x) def test2(debut): x = debut print(x) x = debut[1] print(x) test((0,1), (10,11)) test2([(0,1), (10,11)])
-
-
Bonjour,
Quelques rappels sur la syntaxe
... pour que tu comprennes ce qui se passe dans le code que tu as partagé.- Généralement on entoure les paramètres d'une fonction par des parenthèse (e.g.
f(x, y, z)
). Dans le code que tu as partagé :
(test (0,1), (10, 11))
... signifie construit un tuple de deux éléments, le premier élément étant le résultat detest(0, 1)
, le second élément étant(10, 11)
. On comprend alors que(10, 11)
n'entre pas dans la fonctiontest
. Cette dernière reçoit en argument respectivementdebut = 0
etfin = 1
, et c'est pour ça qu'elle retourne[(0, 1)]
.- Il n'est pas utile d'entourer un nom variable de parenthèse (comme tu l'as fait dans ta fonction
test
pour les variablesdebut
etfin
). - Une fois réécrit le code s'écrit plutôt :
def test(debut, fin): x = [(debut, fin)] print(x) test((0,1), (10,11)) # != (test(0, 1), (10, 11))
Sous cette forme, on comprend quex
construit une liste qui contient un tuple de deux éléments (respectivement tes paramètresdebut
etfin
).
J'avoue ne pas trop voir l'intérêt d'encapsuler le tuple(debut, fin)
dans une liste, tu pourrais te contenter de directement mémoriser ce tuple.
Accéder aux valeurs d'un tuple
Tu peux extraire les valeurs d'un tuple avec l'opérateur[ ]
comme l'a indiqué jee pee ou en l'affectant à une série de variables.
Exemple 1 :
def test(tuple1, tuple2): a = tuple1[0] b = tuple1[1] c = tuple2[0] d = tuple2[1] print(a, b, c, d) test((1, 2), (3, 4))
Exemple 2 :
def test(tuple1, tuple2): (a, b) = tuple1 (c, d) = tuple2 print(a, b, c, d) test((1, 2), (3, 4))
Bonne chance - Généralement on entoure les paramètres d'une fonction par des parenthèse (e.g.
-
Toute ces explications m'aident beaucoup dans mon apprentissage du langage Python. J'apprécie énormément. Merci +++