logo

Looping-tekniker i Python

Python stöder olika loopingtekniker med vissa inbyggda funktioner i olika sekventiella behållare. Dessa metoder är i första hand mycket användbara i konkurrensutsatt programmering och även i olika projekt som kräver en specifik teknik med loopar som upprätthåller den övergripande strukturen av kod.  Mycket tid och minnesutrymme har sparats eftersom det inte finns något behov av att deklarera de extra variablerna som vi deklarerar i den traditionella metoden med loopar.

Var används de?

Olika looping-tekniker är främst användbara på platser där vi inte behöver faktiskt manipulera strukturen och ordningen för de övergripande behållarna, utan bara skriva ut elementen för en engångsinstans, ingen ändring på plats sker i behållaren. Detta kan också användas i fall för att spara tid.

Olika loopingtekniker som använder Python-datastrukturer är:  

Sätt 1: Använd enumerate():   enumerate() används för att gå igenom behållarna och skriva ut indexnumret tillsammans med värdet som finns i det specifika indexet.



Python3
# python code to demonstrate working of enumerate() for key value in enumerate(['The' 'Big' 'Bang' 'Theory']): print(key value) 

Produktion:

strängmetoder
0 The  
1 Big
2 Bang
3 Theory
Python3
# python code to demonstrate working of enumerate() for key value in enumerate(['Geeks' 'for' 'Geeks' 'is' 'the' 'Best' 'Coding' 'Platform']): print(value end=' ') 

Produktion:

Geeks for Geeks is the Best Coding Platform 

Sätt 2: Använd zip():  zip() används för att kombinera 2 eller fler behållare som skriver ut värdena sekventiellt. Slingan existerar bara tills den mindre behållaren tar slut. En detaljerad förklaring av zip() och enumerate() kan hittas här .

Exempel 1: Två olika datatyper (lista)

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() 

Produktion
('Name: ' 'Deep') ('Age: ' 24) () ('Name: ' 'Sachin') ('Age: ' 27) () ('Name: ' 'Simran') ('Age: ' 25) () 

Exempel 2: Två liknande datatyper list-list

Linux gratis ipconfig
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)) 

Produktion:

What is your name? I am apple.  
What is your color? I am red.
What is your shape? I am a circle.

Sätt 3: Använd iteritem():  iteritems() används för att gå igenom ordboken och skriva ut ordbokens nyckel-värdepar sekventiellt som används före Python 3-versionen.

Sätt 4: Använda objekt(): items() utför liknande uppgift på ordboken som iteritems() men har vissa nackdelar jämfört med iteritems().

  • Det är det mycket tidskrävande . Att kalla det på stora ordböcker tar ganska mycket tid.
  • Det tar en mycket minne . Tar ibland dubbelt så mycket minne när man anropar en ordbok.

Exempel 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) 

Produktion:

The key value pair using iteritems is :   
geeks for
only geeks

Exempel 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) 

Produktion
Ashoka The Great Chandragupta The Maurya Modi The Changer 

Sätt 5: Använd sorterad():   sorted() används för att skriva ut behållaren är sorterad . Det sorterar inte behållaren men skriver bara ut behållaren i sorterad ordning för 1 instans. Användningen av set() kan kombineras för att ta bort dubbletter händelser.

Exempel 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=' ') 

Produktion:

    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

Exempel 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) 

Produktion:

string array skapande i java
apple  
banana
grape
guava
guave
orange
pear

Sätt 6: Använd reversed():  reversed() används för att skriva ut värdena på de behållare i omvänd ordning . Den återspeglar inga ändringar av den ursprungliga listan

Exempel 1:

Python3
# 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=' ') 

Produktion:

The list in reversed order is :   
3 1 2 6 5 3 1

Exempel 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) 

Produktion:

7  
4
1
  • Dessa tekniker är snabba att använda och minskar kodningsansträngningen. för while-slingor måste hela strukturen av behållaren ändras.
  • Dessa loopningstekniker kräver inga strukturella förändringar av behållaren. De har sökord som visar det exakta syftet med användningen. Medan inga förutsägelser eller gissningar kan göras i en stundsslinga, det vill säga inte lätt att förstå syftet med ett ögonkast.
  • Looping-teknik gör koden mer kortfattad än att använda för och medan looping.

looping-tekniker medan loop använder if-satser:

I det här exemplet använder vi en while-loop för att öka en variabel som kallas count. Inuti slingan använder vi en if-sats för att kontrollera om antalet är lika med 3. Om det är det skriver vi ut ett meddelande.

Närma sig:

oändlig loop

Initiera en räknevariabel till 0
Använd en while-loop för att upprepade gånger exekvera ett kodblock så länge antalet är mindre än 5
Inuti slingan använd en if-sats för att kontrollera om antalet är lika med 3
Om antalet är 3 skriv ut ett meddelande
Öka antalet med 1 i slutet av varje iteration

Python3
# Example variable count = 0 # Loop while count is less than 5 while count < 5: if count == 3: print('Count is 3') count += 1 

Produktion
Count is 3


Tidskomplexitet: O(n) där n är antalet iterationer som krävs för att räkningen ska nå 5.

Auxiliary Space: O(1) eftersom endast en variabel (count) används genom hela koden.

Skapa frågesport