Bonjour à tous!
Voici en quelques mots simples (j'espère) mon problème:
je crée deux variables:
a=1
b=1
je crée une liste:
lst=[a, b]
je veux créer un petit programme de ce type:
if lst[0] == a:
instruction numéro 1
if lst[0] == b:
instruction numéro 2
problème: mon programme marche si a et b ont des valeurs différentes, mais pas si elles ont la même valeur!
En gros, quand il y a la même valeur, il me répète deux fois l'instruction 1. Or je veux distinguer les variables même si elles ont des valeurs identiques.
J'ai cru à un moment tenir une solution avec "id"
if id(lst[0]) == id(a):
instruction numéro 1
elif id(lst[0]) == id(b):
instruction numéro 2
mais ma grosse erreur que vous devinez est que l'id de deux variables de même valeur est le même! donc même résultat.
Une solution serait d'utiliser le nom de la variable et non sa valeur
par exemple, un code du genre:
if name(lst[0]) == name(a) # j'invente ici une fonction "name" qui n'existe pas, ou peut-être sous un autre nom...
instruction numéro 1
elif name(lst[0]) == name(b):
instruction numéro 2
de cette façon, quelque soit la valeur des variables, identiques ou différentes, je pourrai les manipuler tantôt avec le nom, tantôt avec la valeur...
Mais je rêve peut-être...
Ou alors s'il existe une solution avec un autre identifiant unique pour chaque valeur, ce serait chouette.
Merci d'avance!!
Partager