Si je comprends bien, ekremy, tu as abaissé ton objectif parce que ça ramait. Mais diviser par 2 un temps trés long, ça ne fait encore qu'un temps très long.
Pour ma part, je pense qu'il faut envisager les choses le plus globalement possible d'abord, et donc choisir son objectif et s'y tenir. Ce ne sera pas le même algorithme si tu veux comparer toutes les lignes ou seulement les suivantes d'une ligne. Une fois obtenu le programme pour comparer les lignes suivantes, il ne faut pas penser qu'il suffira de remplacer for j in d[n:] par for j in range(len(d)) pour obtenir un programme tout beau qui comparera toutes les lignes entre elles.
C'est avant qu'il faut décider.
Que veux tu faire ? Comparer toutes les lignes ? C'est ce qui me parait le plus logique.
Je dis bien : comparer une ligne avec toutes les autres lignes = avec les précédentes ET avec les suivantes.
J'ai même pensé qu'il faudrait peut être prendre les choses plus en amont.
D'où provient le fichier mat1 ?
Est-ce un fichier qui t'est fourni tout ficelé, ou bien est-ce toi qui le crée ? Parce que si tu crées toi même le fichier, c'est dommage de disposer de données dans des variables au moment de sa création et de ne faire aucun traitement dessus qui pourrait faciliter les choses ultérieurement, c'est à dire avec ton présent problème.
Partager