Python admet diverses tècniques de bucle mitjançant determinades funcions integrades en diversos contenidors seqüencials. Aquests mètodes són principalment molt útils en programació competitiva i també en diversos projectes que requereixen una tècnica específica amb bucles que mantenen l'estructura general del codi. S'ha estalviat molt de temps i espai de memòria, ja que no cal declarar les variables addicionals que declarem en l'enfocament tradicional dels bucles.
On s'utilitzen?
Les diferents tècniques de bucle són principalment útils en llocs on no necessitem manipular realment l'estructura i l'ordre dels contenidors generals, sinó només imprimir els elements per a una instància d'un sol ús, no hi ha cap canvi en el lloc al contenidor. Això també es pot utilitzar en casos per estalviar temps.
Les diferents tècniques de bucle que utilitzen estructures de dades de Python són:
Manera 1: utilitzant enumerate(): enumerate() s'utilitza per recórrer els contenidors imprimint el número d'índex juntament amb el valor present en aquest índex en particular.
Python3
# python code to demonstrate working of enumerate() for key value in enumerate(['The' 'Big' 'Bang' 'Theory']): print(key value)
Sortida:
mvc al marc de primavera
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=' ')
Sortida:
Geeks for Geeks is the Best Coding Platform Forma 2: utilitzant zip(): zip() s'utilitza per combinar 2 o més contenidors imprimint els valors seqüencialment. El bucle només existeix fins que acaba el contenidor més petit. Es pot trobar una explicació detallada de zip() i enumerate(). aquí .
Exemple 1: dos tipus de dades diferents (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()
Sortida
('Name: ' 'Deep') ('Age: ' 24) () ('Name: ' 'Sachin') ('Age: ' 27) () ('Name: ' 'Simran') ('Age: ' 25) () Exemple 2: Llista-lista de dos tipus de dades semblants
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))
Sortida:
What is your name? I am apple.
What is your color? I am red.
What is your shape? I am a circle.
Manera 3: utilitzant iteritem(): iteritems() s'utilitza per recórrer el diccionari imprimint seqüencialment el parell clau-valor del diccionari que s'utilitza abans de la versió de Python 3.
reaccionar a l'estil en línia
Forma 4: Ús d'elements (): items() realitza la tasca similar al diccionari que iteritems() però té certs desavantatges en comparació amb iteritems().
- Ho és requereix molt de temps . Invocar-lo en grans diccionaris consumeix molt de temps.
- Es necessita un molta memòria . De vegades pren el doble de memòria quan es truca en un diccionari.
Exemple 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)
Sortida:
The key value pair using iteritems is :
geeks for
only geeks
Exemple 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)
Sortida
Ashoka The Great Chandragupta The Maurya Modi The Changer
Manera 5: utilitzant sortd(): sortd() s'utilitza per imprimir el fitxer El contenidor està ordenat per ordre . Això no ordena el contenidor però només imprimeix el contenidor en ordre ordenat per a 1 instància. L'ús de set() es pot combinar per eliminar el duplicat ocurrències.
Exemple 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=' ')
Sortida:
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
Exemple 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)
Sortida:
apple
banana
grape
guava
guave
orange
pear
Manera 6: utilitzant reverse(): reversed() s'utilitza per imprimir els valors de el contenidor en ordre invers . No reflecteix cap canvi a la llista original
Exemple 1:
taula de làtexPython3
# 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=' ')
Sortida:
la cadena java conté
The list in reversed order is :
3 1 2 6 5 3 1
Exemple 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)
Sortida:
7
4
1
- Aquestes tècniques són ràpides d'utilitzar i redueixen l'esforç de codificació. perquè els bucles while necessiten canviar tota l'estructura del contenidor.
- Aquestes tècniques de bucle no requereixen cap canvi estructural al contenidor. Tenen paraules clau que presenten el propòsit exacte de l'ús. Mentre que no es poden fer prediccions prèvies ni suposicions durant el bucle while, és a dir, no es pot entendre fàcilment el propòsit d'un cop d'ull.
- La tècnica de bucle fa que el codi sigui més concís que l'ús for & while bucle.
tècniques de bucle mentre que s'utilitzen declaracions if:
En aquest exemple fem servir un bucle while per incrementar una variable anomenada count. Dins del bucle fem servir una instrucció if per comprovar si count és igual a 3. Si ho és, imprimim un missatge.
Enfocament:
Inicialitzar una variable de recompte a 0
Utilitzeu un bucle while per executar repetidament un bloc de codi sempre que el nombre sigui inferior a 5
Dins del bucle, utilitzeu una instrucció if per comprovar si el nombre és igual a 3
Si el nombre és 3, imprimiu un missatge
Incrementa el recompte en 1 al final de cada iteració
# Example variable count = 0 # Loop while count is less than 5 while count < 5: if count == 3: print('Count is 3') count += 1
Sortida
Count is 3
Complexitat temporal: O(n) on n és el nombre d'iteracions necessàries perquè el recompte arribi a 5.
Espai auxiliar: O(1) ja que només s'utilitza una variable (recompte) al llarg del codi.
Crea un qüestionari