Retour aux quiz
Débutant

Vérification d'identifiant avec isidentifier

Quelle est la sortie de ce programme ?

quiz.py
1
En Python, on a une liste x = [1, [2, 3]]. On crée une copie de cette liste dans y avec y = x[:].
2
 
3
Avec la fonction id() qui renvoie l'identifiant d'un objet, que va-t-on obtenir ?

Réponses possibles

Aid(x[0]) == id(y[0]) and id(x[1]) != id(y[1])
Bid(x[0]) != id(y[0]) and id(x[1]) != id(y[1])
Cid(x[0]) != id(y[0]) and id(x[1]) == id(y[1])
Did(x[0]) == id(y[0]) and id(x[1]) == id(y[1])

Explication

L'identifiant de l'entier 1 reste le même. Celui de la sous-liste aussi. Ce qui veut dire que si on modifie un élément de la sous-liste y[1] dans la copie y, alors x[1] sera aussi modifiée. Par contre, si on change y[0], x[0] ne sera pas modifié. Aussi id(x) != id(y) comme on a fait une copie de la liste.