Bonjour,
J'ai un petit souci avec un programme python
J'ai des données dans un fichier que je récupère, et j'ai besoin d'effectuer un tri.
Les données se présentent ainsi : j'ai plusieurs tableaux de tailles identiques, corrélés entre eux au niveau de l'indice, je fais un tri pour ne prendre que ceux qui m'intéressent.
Dans le tableau A, il y a plusieurs occurrences de nombres, j'ai besoin de sommer les éléments du tableau B par rapport à leur indice dans A et d'enregistrer cette valeur dans un nouveau tableau C.
tabA = [1,1,1,2,3,3]
tabB = [1,2,3,4,5,6]
et je veux tabC[0] = 6, car 1 apparait trois fois aux indices 0,1 et 2, donc je somme 1+2+3 dans B que j'enregistre dans C.
Ainsi tabC[1]= 4, tabC[2] = 11 soit tabC = [6,4,11]
J'aimerais faire ce tri dans ma boucle, c'est à dire pendant le 1er tri, voici ce que j'ai fais :
Code :
- currentID = 0
- tot = 0
- for i in range(len(x)):
-
- if (is_not_in(x[i],y[i],z[i]) == True): ### condition sur le 1er tri
-
- newA.append(A[i]) ### mes nouveaux tableaux une première fois trié
- newB.append(B[i]) ###
- test = A[i]
- if(test == newA[i-1]): ### Si l'élément précédent a la même valeur que celui qui vient juste après
- tot = tot + B[i-1] + B[i] ### je les sommes
- else:
- C.append(tot) ### Sinon j'enregistre la valeur dans mon tableau C
|
Sauf que je suis out of range ici car à 0 il n'y a pas d'élément -1....
Un petit coup de main s'il vous plait ?