Riepilogo ordinamenti

sort()

Il metodo ordina una lista, in ordine crescente, in loco

Ordinare una lista in ordine decrescente

reverse()

Il metodo capovolge una lista in loco

sorted()

La funzione restituisce una lista ordinata a partire dalla struttura dati specificata (insieme, lista, tupla, …).

Ordinare con un criterio

Si può chiedere alla funzione sort() di applicare una funzione agli elementi prima di ordinarli.

La funzione deve avere un solo argomento e restituire un valore

  • key = abs, valore numerico senza segno
  • key = id, il codice interno dell’oggetto
  • key = len, numero di elementi dell’elemento
  • key = max, valore massimo contenuto nell’elemento
  • key = min, valore minimo contenuto nell’elemento
  • key = round, valore numerico arrotondato
  • key = sum, somma dei valori numerici dell’elemento
  • key = str.lower, considera le stringhe tutte minuscolo
  • key = str.lstrip, considera le stringhe senza spazi iniziali
  • key = str.strip, considera le stringhe senza spazi iniziali e finali
  • key = str.swapcase, considera le stringhe con maiuscolo e minuscolo scambiati
  • key = str.upper, considera le stringhe tutte minuscolo

La funzione può essere arbitraria

Ordinare rispetto a una posizione

Soluzione 1

Soluzione 2

Studia gli algoritmi classici per ordinare una sequenza di dati: bubble sort, selection sort, quicksort, …