November 13
Ordinamento dei valori è una pratica comune nella maggior parte dei linguaggi di programmazione. A causa di questo, ea causa di attenzione di Python su collezioni di dati come liste, le librerie Python contengono un metodo di ordinamento, chiamato "ordinato", che gestisce le operazioni di smistamento. E mentre il tipo di dati List ha anche un proprio metodo di ordinamento, il metodo esterno "ordinato" rappresenta una soluzione più versatile in molte situazioni.
Per ordinare le liste in atto, un programmatore tipicamente utilizzare il "sort ()" metodo interno al tipo di dati List. Il metodo di ordinamento prende l'elenco corrente e lo ordina in ordine ascendente, come in questo esempio:
l = [5, 4, 7, 2, 1]
l.sort ()
l
[1, 2, 4, 5, 7]
La lista sarà ora rimane ordinato ovunque il programmatore dovrebbe decidere di passare o utilizzarlo.
Il metodo "filtrate ()" esegue la stessa operazione sul suo uso base. Facendo una lista, il metodo ordinato ordinerà i valori nella lista in ordine crescente:
l2 - [6, 8, 4, 3, 2, 5]
ordinato (L2)
[2, 3, 4, 5, 6, 8]
Sia il list.sort () e ordinati () metodi accettano anche un argomento "reverse", che ordinare i valori in ordine decrescente:
l.sort (reverse = True)
l
[7, 5, 4, 2, 1]
ordinato (l2, invertire = True)
l2
[8, 6, 5, 4, 3, 2]
Alcune liste possono contenere valori sulla base dei dati effettivi di organizzazione, piuttosto che solo un elenco di numeri o stringhe. Un gruppo di liste che contiene di un dipendente nome, l'età e l'ID potrebbe essere simile a questi esempi:
e1 = [ 'Bob', 29, 1]
e2 = [ 'Jane', 27, 2]
E3 = [ 'Jill', 31, 3]
Un programmatore di smistamento queste liste potrebbe voler ordinare dal secondo valore che rappresenta l'età. Il programmatore può dare un ulteriore parametro "chiave" esclusivi per la classe ordinato, che permette al programmatore di ordinare basa su valori specifici, come in questo esempio:
operatore di importazione
dipendenti = [E1, E2, E3] // una lista di liste dipendenti
ordinati (dipendenti, key = operator.itemgetter (1))
[[ 'Jane', 27, 2], [ 'Bob', 29, 1], [ 'Jill', 31, 3]]
La classe ordinato consente anche un programmatore per ordinare le liste in base ai valori di ritorno delle chiamate di metodo, con il tasto "methodcaller" come argomento. Ad esempio, il programmatore potrebbe voler ordinare i valori in base al numero di occorrenze della lettera "x" in ogni voce, come in questo esempio:
operatore di importazione
l4 = [ 'rrrxxxyxx', 'xxxtx', 'x']
ordinato (L4, key = operator.methodcaller ( 'count', 'x'))
[ 'X', 'xxxtx', 'rrrxxxyxx']