Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Python Programming >> .

Come unire una sorta di Python

Ordinamento di elenchi di dati è un problema che ha tormentato i programmatori dall'inizio della programmazione informatica . Ordinamento di un elenco di dati può finire come un ricordo - e tempo - intensivo compito . A causa di questo , diversi metodi di ordinamento sono state inventate per minimizzare la sfida e lo sforzo di smistamento . Un metodo è unire ordinamento . Si suddivide una lista ricorsivamente in elementi singolari e ricombina la lista in forma ordinata . Qualsiasi linguaggio di programmazione che supporta la ricorsione , come Python , può implementare una sorta di unione. Cose che ti serviranno
Python Interpreter con Interactive Development Environment
Mostra più istruzioni
1

definire la funzione " mergesort " . Questa funzione di base richiama sé stesso ricorsivamente , dividendo la dimensione dell'elenco a metà con ogni chiamata . Una volta che la funzione mergesort colpisce una lista con un solo elemento , la ricorsione si ferma e l'elemento ritorni. Come si snoda ricorsione mergesort , ogni lista più piccola è fuso insieme in modo ordinato . Questo esempio mostra una funzione mergesort di base che prende una lista come argomento :

>>> def mergesort ( Li ) :

. . . if len (li) < 2 :

. . . tornare li

. . . mid = len (li) /2

. . . primo = mergesort ( li [ : mid ] ) per

. . . ultimo = mergesort ( li [ mid : ] ) per

. . . tornare unire ( primo, ultimo ) economici 2

Impostare il metodo di fusione . Questa funzione servirà come il metodo di ordinamento , ma restituisce una lista ordinata di elementi . Il metodo di fusione prende due liste già ordinati . Viene quindi definito un elenco interno " ordinato " che rappresenterà le liste di argomenti ordinati combinati. Il metodo merge compie questo prendendo il più piccolo elemento e inserendolo in un nuovo elenco " allineati " . Una volta che una delle estremità liste , l'altra lista è inserita nella sua interezza

>>> def unione ( x , y) : .

. . . ordinati = [ ]
3

Unire le liste nel metodo di unione. Il ciclo "while" dell'esempio confronta ogni elemento della lista per voce , prendendo il più piccolo elemento e inserendolo in un nuovo elenco " allineati " . Una volta che uno degli elenchi finisce , l'altra lista è inserita nella sua interezza , e la nuova lista ordinata viene restituito :

. . . i, j = 0 , 0

. . . mentre i < len ( x ) e j < len ( y) :

. . . se x [ i] < = y [ j ] :

. . . sorted.append ( x [ i] ) per

. . . i + = 1

. . . altra cosa :

. . . sorted.append ( y [ j ] ) per

. . . j + = 1

. . . ordinati + = x [i: ]

. . . ordinati + = y [ : j ]

. . . tornare ordinati

 

Programmazione © www.354353.com