Bonjour,
je veux faire un remove ciblé sur une structure bien déterminé mais elle est faite sur toute la structure ,
ayant une liste L1: [(2, [15, True, 35]), (3, [15, True, 54]), (4, [15, False, 109]), (2, [11, True, 26]), (3, [11, True, 13]), (4, [11, False, 58])]
et une liste L2: [(15, [2, 3, 4]), (11, [3, 2, 4])]
Lors du remove normalement on obtient progressivement pour 15[(15, [2, 3,]), (11, [3, 2,4])]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 for i in L1: if i[1][1] == False: print("the MT", i[1][0], "coulden't be scheduled on target ", i[0]) for j in L2: if j[0]==i[1][0]: if j[1] != []: j[1].remove(i[0]) print("L2", L2)
puis pour 11 [(15, [2, 3]), (11, [3, 2])]
alors que le 4 est retranché directement dés le début des 2 structure [(15, [2, 3, ]), (11, [3, 2])]
et dans la deuxième itération il déclare qu'il : ValueError: list.remove(x): x not in list (c'est à dire puisque dès la première itération le 4 de la liste (11, [3, 2,4]) a été supprimé (11, [3, 2]) donc lorsque il cherche à le supprimer il ne trouve pas)
Partager