remove exclusif sur une liste spécifique
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])]
Code:
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) |
Lors du remove normalement on obtient progressivement pour 15[(15, [2, 3,]), (11, [3, 2,4])]
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)