Modifier sur place
Dans plate, tea est devant et water suit. plate[0] = "soup" met soup à la place 0, tea n'y est plus. water reste à la place 1. Il y a toujours deux valeurs. La fin n'a rien gagné, et elle n'a rien perdu.
print écrit les valeurs dans l'ordre où elles sont, crochets compris. soup est en tête parce que la place remplacée est la 0. len(plate) vaut encore 2. Le premier programme n'écrit pas la place 1 sur sa propre ligne. La ligne de la liste montre déjà water à cet endroit.
plate = ["tea", "water"]
plate[0] = "soup"
print(plate)
print(len(plate))
À l'écran : soup, puis water, puis le nombre 2. La place 1 n'a pas bougé. tea n'est plus dans plate.
same = plate donne un second nom à la liste que vous avez déjà. Une autre liste n'est pas fabriquée. plate[1] = "soup" prend la place de water, et la place 0 reste tea. Le nom same montre soup à la place 1 lui aussi. same[1] vaut soup, même si le programme écrit la liste entière plutôt que cette place seule.
plate = ["tea", "water"]
same = plate
plate[1] = "soup"
print(plate)
print(same)
Les deux lignes affichent tea, puis soup. water a disparu sous les deux noms. Un remplacement, une seule liste. Vous n'avez pas fabriqué de copie à part sur cette page.
Tant que plate ne contient que tea et water, plate[2] = "bread" arrête le programme. La place 2 n'existe pas encore. Remplacer une place n'en ouvre pas une nouvelle à la fin. Cette ligne n'est pas dans les programmes ci-dessus.
plate = ["soup", "water"] est un autre geste. Il fabrique une liste neuve. Celle que vous aviez déjà reste telle quelle pour tout nom qui la désigne encore. Cette page remplace une valeur dans la liste que vous avez déjà.
La page suivante fabrique une copie à part, pour qu'un changement par un nom ne se voie pas sur l'autre. Ici, les deux noms sont une seule liste, et vous ne remplacez qu'une valeur déjà présente.
Les deux écrans
- Qu'écrit le premier programme, la liste puis le nombre ?
- Après ce programme, qu'y a-t-il à la place 1 ?
- Qu'écrivent les deux print du second programme ?
- Pourquoi plate[2] = "bread" arrête-t-il le programme quand plate ne contient que tea et water ?
La longueur reste 2
Dans le premier programme, soup prend la place de tea et la longueur reste 2 : l'écran montre soup, puis water, puis 2. water est encore à la place 1. Dans le second programme, les deux noms montrent tea, puis soup, parce que same et plate sont une seule liste et que la place 0 est restée tea. plate[2] = "bread" arrête le programme : cette place n'existe pas, et ce remplacement n'en ajoute pas.
🧠 Testez Vos Connaissances
Testez Vos Connaissances
Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet
📝 Instructions
- Lisez chaque question attentivement
- Sélectionnez la meilleure réponse pour chaque question
- Vous pouvez refaire le quiz autant de fois que vous le souhaitez
- Votre progression sera affichée en haut