Rebonjour,
Je cherche à enrichir les elts d'une liste L1 avec des elts d'une seconde liste L2 selon un seul critère de comparaison avec cette même liste L2.
Ma liste L1 est (contient deux éléments) :
[[2, 2, 1, [1, 143, 1, 111, 1, 1], [[7, 0, [1, 1, 1, 111, 1, 1]], [8, 1, [143, 143, 1, 111, 1, 1], 3, 6, 23, [1, 13, 1], [1, 2, 3]], [9, -1, [1, 143, 1, 1, 1, 1]], [10, 0, [1, 143, 111, 111, 1, 1]]]], [3, 2, 2, [1, 17, 1, 13, 1, 1], [[11, -2, [1, 1, 1, 13, 1, 1]], [12, 1, [17, 17, 1, 13, 1, 1], 3, 6, 22, [1, 1, 1], [1, 2, 3]], [13, -1, [1, 17, 1, 1, 1, 1]], [14, -1, [1, 17, 13, 13, 1, 1]]]]]
Ma liste L2 est (4 elts):
[[1, [2, 130, 3, 8, 1, 1], 1, 1, 1, 1, 0, 0, 0, 0], [1, [6, 8, 9, 10, 1, 1], 1, 1, 1, 1, 0, 0, 0, 0], [1, [9, 11, 3, 8, 1, 1], 1, 1, 1, 1, 0, 0, 0, 0], [2, [5, 11, 9, 12, 1, 1], 1, 1, 1, 1, 0, 0, 0, 0]]
le critère pour ajouter le bn elt de L2 à celui qui lui correspond en L1 est la correspondance de valeurs entre la 3ème valeur de chaque elt de L1 avec le 1er de chaque elt de L2 , ce qui donne en python :
hélas ce programme est loin d'être performant, il en résulte bcp d'erreurs et je n'arrive pas à l'améliorer pr qu'il corresponde au but souhaité! Et je ne comprends pas pourquoi il ne marche pas correctement!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 for blk in L1: for clk in L2: print clk[0],"*****************",blk[2] if blk[2] == clk[0] : # les deux indices correspondent #p_nnspl.remove(clk[0]) # on eleve le tag initial print clk,"*****************",blk blk_nnspl1= copy.copy(blk) # on copie le domaine et ses caractéristiques dans une première liste cl1 = copy.copy(clk) cl1.pop(0) # je supprime l'indice dont je n'ai plus besoin clk1.append(cl1) blk_nnspl1.append(clk1) blk_nnspla.append(blk_nnspl1) continue
Auriez vous une idée de ce qui cloche?
Merci.
M.
Partager