Je suis nouveau à Python. J'essaie d'appliquer une boucle sur une liste triée. L'idée est chaque fois que la boucle lit une nouvelle valeur différente de la précédente, elle fait une nouvelle ligne avant d'être (l'éditeur que j'utilise est Jupyter Notebook)
Ce que j'ai essayé est la sortie attendue devrait être quelque chose comme ça p> mais malheureusement ce code n'a pas fait le travail . Merci pour votre aide, je l'apprécie. P> p>
5 Réponses :
Initialiser un Sortie p> Dernier code> var pour garder la piste et itérer sur votre liste, n'imprimez qu'une nouvelle ligne lorsque l'élément diffère de
Dernier code>
Vous pouvez simplement le faire en comparant les éléments de la liste triée, comme suit: sortie: strong> p>
Cela n'imprime pas la dernière valeur de la matrice.
@Tdurnford Merci pour l'indice. J'ai ajouté une autre ligne pour imprimer le dernier élément
C'est une solution. Je recommande de regarder la plage de votre itération et d'ajuster la logique dans votre relevé IF à la place.
Avec votre code, vous utilisez i code> à itérer via le tableau
d code> mais utilise ensuite
i code> pour accéder à l'élément du tableau d [i] code> ainsi
i == d [i] code> sera vrai pour les trois premières itérations, puis après cela, ce sera faux (par exemple,
i = 2 ,
d [2] = 1 code>, donc
(i == d [i]) == false code>. Pas besoin d'un
elif Clause Depuis que vous n'êtes inquieté que d'un cas. Utilisez une variable pour garder une trace de l'élément précédent dans la matrice et cela devrait faire le tour.
d=[1,1,1,2,2,3,4,5,5,5]
temp = d[0]
for i in d:
if temp != i:
print('\n')
print(i)
temp = i
Si le numéro actuel n'est pas égal à précédent, imprimez une nouvelle ligne avant d'imprimer l'élément.
d=[1,1,1,2,2,3,4,5,5,5] for i in range(len(d)): if i > 0 and d[i] != d [i - 1]: print('\n') print(d[i])