logo

Silmukkatekniikat Pythonissa

Python tukee erilaisia ​​silmukkatekniikoita tietyillä sisäänrakennetuilla funktioilla eri peräkkäisissä säilöissä. Nämä menetelmät ovat ensisijaisesti erittäin hyödyllisiä kilpailevassa ohjelmoinnissa ja myös erilaisissa projekteissa, jotka vaativat erityistä tekniikkaa, jossa silmukat ylläpitävät koodin yleistä rakennetta.  Säästyy paljon aikaa ja muistitilaa, koska ei tarvitse ilmoittaa ylimääräisiä muuttujia, jotka ilmoitamme perinteisessä silmukoiden lähestymistavassa.

Missä niitä käytetään?

Erilaiset silmukkatekniikat ovat hyödyllisiä ensisijaisesti paikoissa, joissa meidän ei tarvitse varsinaisesti manipuloida kokonaisten säilöjen rakennetta ja järjestystä, vaan vain tulostaa elementit kertakäyttöistä ilmentymää varten, säiliössä ei tapahdu paikan päällä tapahtuvaa muutosta. Tätä voidaan käyttää myös tapauksissa ajan säästämiseksi.

Python-tietorakenteita käyttävät eri silmukkatekniikat ovat:  

Tapa 1: Käytä enumerate():   enumerate()-komentoa käytetään silmukan läpivientiin säilöissä ja tulostetaan indeksinumero yhdessä kyseisessä indeksissä olevan arvon kanssa.



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

Lähtö:

heittää int merkkijonoon java
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=' ') 

Lähtö:

Geeks for Geeks is the Best Coding Platform 

Tapa 2: zip():  zip()-komentoa käytetään yhdistämään 2 tai useampia säilöjä, jotka tulostavat arvot peräkkäin. Silmukka on olemassa vain pienemmän säiliön loppuun asti. Yksityiskohtainen selitys zip()- ja enumerate()-funktioista löytyy tässä .

Esimerkki 1: Kaksi erilaista tietotyyppiä (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() 

Lähtö
('Name: ' 'Deep') ('Age: ' 24) () ('Name: ' 'Sachin') ('Age: ' 27) () ('Name: ' 'Simran') ('Age: ' 25) () 

Esimerkki 2: Kaksi samanlaista tietotyyppiä lista-lista

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

Lähtö:

muuntaa merkkijono in java
What is your name? I am apple.  
What is your color? I am red.
What is your shape? I am a circle.

Tapa 3: Iteritem():  iteritems()-funktiota käytetään sanakirjan kiertymiseen, joka tulostaa sanakirjan avain-arvo-parin peräkkäin, jota käytetään ennen Python 3 -versiota.

Tapa 4: kohteiden käyttäminen(): items() suorittaa samanlaisen tehtävän sanakirjassa kuin iteritems() mutta sillä on tiettyjä haittoja verrattuna iteritems() -ohjelmaan.

  • Se on erittäin aikaa vievää . Sen soittaminen suurissa sanakirjoissa vie melko paljon aikaa.
  • Se kestää a paljon muistia . Joskus se vie kaksinkertaisen muistin, kun sitä kutsutaan sanakirjasta.

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

Lähtö:

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

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

Lähtö
Ashoka The Great Chandragupta The Maurya Modi The Changer 

Tapa 5: Sorted():   sorted() käytetään tulostamaan kontti on lajiteltu järjestyksessä . Se ei lajittele konttia mutta tulostaa vain säilön lajiteltuun järjestykseen yhdelle esiintymälle. Käyttö set() voidaan yhdistää kaksoiskappaleiden poistamiseksi tapahtumia.

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

Lähtö:

    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

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

Lähtö:

apple  
banana
grape
guava
guave
orange
pear

Tapa 6: Käänteinen():  reverse():tä käytetään arvojen tulostamiseen the kontti käänteisessä järjestyksessä . Se ei heijasta muutoksia alkuperäiseen luetteloon

on suhde

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

Lähtö:

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

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

Lähtö:

java-ohjelmasilmukka
7  
4
1
  • Nämä tekniikat ovat nopeita käyttää ja vähentävät koodaustyötä. sillä while-silmukat tarvitsevat säiliön koko rakenteen muuttamisen.
  • Nämä silmukkatekniikat eivät vaadi rakenteellisia muutoksia säiliöön. Niissä on avainsanoja, jotka kuvaavat tarkan käyttötarkoituksen. Vaikka silmukalle ei voi tehdä ennakkoennusteita tai arvauksia, eli tarkoitusta ei ole helppo ymmärtää yhdellä silmäyksellä.
  • Silmukkatekniikka tekee koodista tiiviimmän kuin for & while -silmukan käyttäminen.

silmukkatekniikat, kun silmukka käytetään if-lauseita:

Tässä esimerkissä käytämme while-silmukkaa kasvattamaan muuttujaa nimeltä count. Silmukan sisällä käytämme if-lausetta tarkistaaksemme, onko määrä yhtä suuri kuin 3. Jos on, tulostamme viestin.

Lähestyä:

Alusta laskentamuuttuja nollaan
Käytä while-silmukkaa suorittaaksesi koodilohkon toistuvasti, kunhan määrä on pienempi kuin 5
Käytä silmukan sisällä if-lausetta tarkistaaksesi, onko määrä yhtä suuri kuin 3
Jos luku on 3, tulosta viesti
Kasvata määrää 1:llä jokaisen iteraation lopussa

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

Lähtö
Count is 3


Aika monimutkaisuus: O(n), jossa n on iteraatioiden määrä, joka vaaditaan, jotta laskenta saavuttaa 5.

Apuväli: O(1), koska vain yhtä muuttujaa (count) käytetään koko koodissa.

Luo tietokilpailu