Python understøtter forskellige sløjfeteknikker ved hjælp af visse indbyggede funktioner i forskellige sekventielle beholdere. Disse metoder er primært meget nyttige i konkurrencepræget programmering og også i forskellige projekter, der kræver en specifik teknik med loops, der opretholder den overordnede struktur af kode. En masse tid og hukommelsesplads er blevet sparet, da der ikke er behov for at deklarere de ekstra variabler, som vi erklærer i den traditionelle tilgang med loops.
Hvor bruges de?
Forskellige sløjfeteknikker er primært nyttige på steder, hvor vi faktisk ikke behøver at manipulere strukturen og rækkefølgen af de overordnede containere, men kun udskrive elementerne for en engangsforekomst, der ikke sker nogen ændring på stedet i containeren. Dette kan også bruges i tilfælde for at spare tid.
Forskellige sløjfeteknikker, der bruger Python-datastrukturer er:
Måde 1: Brug enumerate(): enumerate() bruges til at gå gennem beholderne, der udskriver indeksnummeret sammen med værdien til stede i det pågældende indeks.
Python3
# python code to demonstrate working of enumerate() for key value in enumerate(['The' 'Big' 'Bang' 'Theory']): print(key value)
Produktion:
hvad er desktop.ini
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=' ')
Produktion:
Geeks for Geeks is the Best Coding Platform Måde 2: Brug af zip(): zip() bruges til at kombinere 2 eller flere containere, der udskriver værdierne sekventielt. Løkken eksisterer kun indtil den mindre beholder slutter. En detaljeret forklaring af zip() og enumerate() kan findes her .
Eksempel 1: To forskellige datatyper (liste)
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) () Eksempel 2: To lignende datatyper liste-liste
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.
Måde 3: Brug af iteritem(): iteritems() bruges til at gå gennem ordbogen og udskrive ordbogens nøgleværdi-par sekventielt, som bruges før Python 3-versionen.
Måde 4: Brug af elementer(): items() udfører den lignende opgave på ordbog som iteritems(), men har visse ulemper sammenlignet med iteritems().
- Det er det meget tidskrævende . At kalde det på store ordbøger bruger ret meget tid.
- Det tager en meget hukommelse . Tager nogle gange dobbelt hukommelse, når de kaldes på en ordbog.
Eksempel 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
Eksempel 2:
selen grundlæggendePython3
# 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
Måde 5: Brug sorteret(): sorted() bruges til at udskrive container er sorteret i rækkefølge . Det sorterer ikke beholderen men udskriver bare beholderen i sorteret rækkefølge for 1 forekomst. Brugen af set() kan kombineres for at fjerne dublet hændelser.
Eksempel 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
Eksempel 2:
skifte javaPython3
# 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:
apple
banana
grape
guava
guave
orange
pear
Måde 6: Brug af reversed(): reversed() bruges til at udskrive værdierne af de container i omvendt rækkefølge . Den afspejler ingen ændringer i den oprindelige liste
Eksempel 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
Eksempel 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
- Disse teknikker er hurtige at bruge og reducerer kodningsindsatsen. for while-løkker skal hele beholderens struktur ændres.
- Disse løkketeknikker kræver ingen strukturelle ændringer af beholderen. De har søgeord, der viser det nøjagtige formål med brugen. Hvorimod ingen forudsigelser eller gæt kan laves i for while-løkke, dvs. ikke let forstå formålet med et blik.
- Looping-teknik gør koden mere kortfattet end at bruge for & while looping.
sløjfeteknikker mens der bruges if-sætninger:
I dette eksempel bruger vi en while-løkke til at øge en variabel kaldet count. Inde i løkken bruger vi en if-sætning til at kontrollere, om antallet er lig med 3. Hvis det er, udskriver vi en besked.
Nærme sig:
Initialiser en tællevariabel til 0
Brug en while-løkke til gentagne gange at udføre en kodeblok, så længe antallet er mindre end 5
Brug en if-sætning inde i løkken for at kontrollere, om antallet er lig med 3
Hvis antallet er 3, udskriv en besked
Øg antallet med 1 i slutningen af hver iteration
# 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
Tidskompleksitet: O(n) hvor n er antallet af iterationer, der kræves for at tællingen når 5.
char til streng
Auxiliary Space: O(1), da kun én variabel (count) bruges i hele koden.
Opret quiz