Retour aux quiz
Débutant
Fonction récursive
Quel est le type retourné par cette expression ?
quiz.py
1
x = [1, 2, 3] 2
x.append(x) 3
print(x)Réponses possibles
A[1, 2, 3, [1, 2, 3]]
BErreur
C[1, 2, 3]
D[1, 2, 3, [...]]
Explication
append(x) ajoute une référence à la liste x elle-même en qui créant une référence circulaire. Donc x contient maintenant [1, 2, 3, x], où le dernier élément est une référence à x. Quand on affiche x, Python voit la récursivité et l'affiche sous la forme [1, 2, 3, [...]] pour éviter une boucle infinie qui ressemblerait à [1, 2, 3, [1, 2, 3, [1, 2, 3, [... Et si on essaie d'afficher x[3], on obtient x donc [1, 2, 3, [...]].