Python supporta varie tecniche di loop tramite determinate funzioni integrate in vari contenitori sequenziali. Questi metodi sono principalmente molto utili nella programmazione competitiva e anche in vari progetti che richiedono una tecnica specifica con cicli che mantengano la struttura complessiva del codice. È stato risparmiato molto tempo e spazio di memoria poiché non è necessario dichiarare le variabili aggiuntive che dichiariamo nell'approccio tradizionale dei cicli.
Dove vengono utilizzati?
Diverse tecniche di looping sono utili principalmente nei luoghi in cui non è necessario manipolare effettivamente la struttura e l'ordine dei contenitori complessivi, piuttosto stampare solo gli elementi per un'istanza monouso e non si verificano modifiche sul posto nel contenitore. Questo può essere utilizzato anche in alcuni casi per risparmiare tempo.
Diverse tecniche di loop che utilizzano strutture dati Python sono:
Modo 1: utilizzo di enumerate(): enumerate() viene utilizzato per scorrere i contenitori stampando il numero di indice insieme al valore presente in quel particolare indice.
Python3
# python code to demonstrate working of enumerate() for key value in enumerate(['The' 'Big' 'Bang' 'Theory']): print(key value)
Produzione:
3d nell'autocad
0 ThePython3
1 Big
2 Bang
3 Theory
# python code to demonstrate working of enumerate() for key value in enumerate(['Geeks' 'for' 'Geeks' 'is' 'the' 'Best' 'Coding' 'Platform']): print(value end=' ')
Produzione:
Geeks for Geeks is the Best Coding Platform Modo 2: utilizzo di zip(): zip() viene utilizzato per combinare 2 o più contenitori stampando i valori in sequenza. Il ciclo esiste solo finché non termina il contenitore più piccolo. È possibile trovare una spiegazione dettagliata di zip() ed enumerate() Qui .
Esempio 1: due diversi tipi di dati (listtuple)
Python# python code to demonstrate working of zip() names = ['Deep' 'Sachin' 'Simran'] # list ages = (24 27 25) # tuple for name age in zip(names ages): print('Name: ' name) print('Age: ' age) print()
Produzione
('Name: ' 'Deep') ('Age: ' 24) () ('Name: ' 'Sachin') ('Age: ' 27) () ('Name: ' 'Simran') ('Age: ' 25) () Esempio 2: due list-list di tipi di dati simili
Python3# python code to demonstrate working of zip() # initializing list questions = ['name' 'colour' 'shape'] answers = ['apple' 'red' 'a circle'] # using zip() to combine two containers # and print values for question answer in zip(questions answers): print('What is your {0}? I am {1}.'.format(question answer))
Produzione:
What is your name? I am apple.
What is your color? I am red.
What is your shape? I am a circle.
Modo 3: utilizzo di iteritem(): iteritems() viene utilizzato per scorrere il dizionario stampando in sequenza la coppia chiave-valore del dizionario utilizzata prima della versione Python 3.
classe vs oggetto in Java
Modo 4: utilizzo di items(): items() esegue sul dizionario un'attività simile a iteritems() ma presenta alcuni svantaggi rispetto a iteritems().
- È richiede molto tempo . Chiamarlo su dizionari di grandi dimensioni richiede molto tempo.
- Ci vuole un molta memoria . A volte occupa il doppio della memoria quando viene richiamato su un dizionario.
Esempio 1:
Python3# python code to demonstrate working of items() d = {'geeks': 'for' 'only': 'geeks'} # iteritems() is renamed to items() in python3 # using items to print the dictionary key-value pair print('The key value pair using items is : ') for i j in d.items(): print(i j)
Produzione:
The key value pair using iteritems is :
geeks for
only geeks
Esempio 2:
Python3# python code to demonstrate working of items() king = {'Ashoka': 'The Great' 'Chandragupta': 'The Maurya' 'Modi': 'The Changer'} # using items to print the dictionary key-value pair for key value in king.items(): print(key value)
Produzione
Ashoka The Great Chandragupta The Maurya Modi The Changer
Modo 5: utilizzo sorted(): sorted() viene utilizzato per stampare il file il contenitore è ordinato . Esso non ordina il contenitore ma stampa semplicemente il contenitore in ordine per 1 istanza. L'uso di set() può essere combinato per rimuovere i duplicati occorrenze.
Esempio 1:
Python3# python code to demonstrate working of sorted() # initializing list lis = [1 3 5 6 2 1 3] # using sorted() to print the list in sorted order print('The list in sorted order is : ') for i in sorted(lis): print(i end=' ') print('r') # using sorted() and set() to print the list in sorted order # use of set() removes duplicates. print('The list in sorted order (without duplicates) is : ') for i in sorted(set(lis)): print(i end=' ')
Produzione:
The li st in sorted order is :
1 1 2 3 3 5 6
The list in sorted order (without duplicates) is :
1 2 3 5 6
Esempio 2:
Python3# python code to demonstrate working of sorted() # initializing list basket = ['guave' 'orange' 'apple' 'pear' 'guava' 'banana' 'grape'] # using sorted() and set() to print the list # in sorted order for fruit in sorted(set(basket)): print(fruit)
Produzione:
apple
banana
grape
guava
guave
orange
pear
Modo 6: utilizzo di reversed(): reversed() viene utilizzato per stampare i valori di IL contenitore nell'ordine inverso . Non riflette alcuna modifica all'elenco originale
Esempio 1:
ordinare un elenco di arrayPython3
# python code to demonstrate working of reversed() # initializing list lis = [1 3 5 6 2 1 3] # using reversed() to print the list in reversed order print('The list in reversed order is : ') for i in reversed(lis): print(i end=' ')
Produzione:
azienda vs azienda
The list in reversed order is :
3 1 2 6 5 3 1
Esempio 2:
Python3# python code to demonstrate working of reversed() # using reversed() to print in reverse order for i in reversed(range(1 10 3)): print(i)
Produzione:
7
4
1
- Queste tecniche sono veloci da usare e riducono lo sforzo di codifica. for mentre i cicli richiedono la modifica dell'intera struttura del contenitore.
- Queste tecniche di looping non richiedono alcuna modifica strutturale al contenitore. Presentano parole chiave che presentano l'esatto scopo di utilizzo. Mentre nel ciclo for while non è possibile fare previsioni o ipotesi, ovvero non è possibile comprenderne facilmente lo scopo a colpo d'occhio.
- La tecnica del looping rende il codice più conciso rispetto all'utilizzo del loop for e while.
tecniche di loop durante il loop utilizzando le istruzioni if:
In questo esempio utilizziamo un ciclo while per incrementare una variabile chiamata count. All'interno del ciclo utilizziamo un'istruzione if per verificare se count è uguale a 3. Se lo è, stampiamo un messaggio.
Approccio:
Inizializza una variabile di conteggio su 0
Utilizza un ciclo while per eseguire ripetutamente un blocco di codice purché count sia inferiore a 5
All'interno del ciclo usa un'istruzione if per verificare se count è uguale a 3
Se il conteggio è 3, stampa un messaggio
Incrementa il conteggio di 1 alla fine di ogni iterazione
# Example variable count = 0 # Loop while count is less than 5 while count < 5: if count == 3: print('Count is 3') count += 1
Produzione
Count is 3
Complessità temporale: O(n) dove n è il numero di iterazioni richieste affinché il conteggio raggiunga 5.
Spazio ausiliario: O(1) poiché in tutto il codice viene utilizzata una sola variabile (count).
Crea quiz