Bonjour,

Je débute en Python et j'ai une petite incompréhension sur le fonctionnement de listes imbriquées. J'utilise du python 2.7.

J'ai essayé le code suivant qui fonctionne correctement:
>>> main=[[3,4],[1,2,5],[],[0,3,4]]
>>> for p1,p2 in enumerate(main):
... print "P1/P2: ", p1,p2
... for val in p2:
... print "Value: ",val
...
P1/P2: 0 [3, 4]
Value: 3
Value: 4
P1/P2: 1 [1, 2, 5]
Value: 1
Value: 2
Value: 5
P1/P2: 2 []
P1/P2: 3 [0, 3, 4]
Value: 0
Value: 3
Value: 4
J'accède bien à tous les éléments de mes listes. Mais si j'essaye de vider ces listes, il en oublie en cours de route. Qu'est-ce que j'ai oublié ?

>>> main=[[3,4],[1,2,5],[],[0,3,4]]
>>> for p1,p2 in enumerate(main):
... print "P1/P2: ", p1,p2
... for val in p2:
... print "Value: ",val
... main[p1].remove(val)
... print main
...
P1/P2: 0 [3, 4]
Value: 3
[[4], [1, 2, 5], [], [0, 3, 4]]
P1/P2: 1 [1, 2, 5]
Value: 1
[[4], [2, 5], [], [0, 3, 4]]
Value: 5
[[4], [2], [], [0, 3, 4]]
P1/P2: 2 []
P1/P2: 3 [0, 3, 4]
Value: 0
[[4], [2], [], [3, 4]]
Value: 4
[[4], [2], [], [3]]
>>>
Merci d'avance.