Python Sort Funzione

November 13

Python Sort Funzione


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.

Il list.sort () Metodo

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.

L ' ") scelte (" Metodo

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]

Ordinamento liste da Valori

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]]

Metodi e Ricerca

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']