Metodi di ordinamento integrati
Python ha una funzione di ordinamento rapido incorporata chiamata
sorted()
e
sort()
. Usa il metodo
Timsort
.
Prendi in considerazione l'utilizzo delle funzioni di ordinamento integrate.
1) Ottenere un nuovo array
B
che corrisponda all'array
A
ordinato in ordine crescente (per impostazione predefinita, ordinamento in ordine crescente):
B = ordinato(A)
2) Ottenere un nuovo array B
che corrisponda all'array A
ordinato in ordine decrescente:
B = ordinato(A, reverse = True)
reverse - tradotto dall'inglese "reverse".
3) Per eseguire un ordinamento non standard, è necessaria una chiave di ordinamento: l'argomento key
.
Per ordinare in ordine crescente in base all'ultima cifra di un numero, la chiave sarà l'ultima cifra del numero.
Per fare ciò, è necessario scrivere una funzione che ci restituirà la chiave richiesta, nel nostro caso l'ultima cifra del numero.
# una funzione che restituisce la chiave di ordinamento
# - l'ultima cifra del numero
def ultimaCifra(n):
ritorno n%10
B = ordinato(A, chiave = lastDigit)
4) Utilizzo della funzione lambda - funzione senza nome.
Se non vuoi scrivere una funzione separata, a causa della sua semplicità, puoi usare le cosiddette funzioni lambda. Tali funzioni vengono scritte direttamente quando chiamate nel parametro key
.
B = ordinato(A, chiave = lambda x: x % 10)
5) Se è necessario ordinare l'array "sul posto" (senza allocare un array aggiuntivo), è meglio usare il metodo sort()
.
Ad esempio, l'ordinamento dell'array A
in base all'ultima cifra in ordine decrescente ha il seguente aspetto:
A.sort(chiave = lambda x: x % 10, reverse = True)