Sisäkkäiset Silmukat
Sisäkkäiset silmukat laajentavat yksinkertaisten silmukoiden mahdollisuuksia sallimalla toistuvien toimintojen suorittamisen useissa ulottuvuuksissa. Tämä on olennaista monimutkaisempien tehtävien käsittelyssä päivittäistavarakaupassa, kuten monitasoisen varastodatan järjestämisessä tai aikataulujen yhteensovittamisessa eri osastojen välillä.
Katso, kuinka Alex havainnollistaa sisäkkäisten silmukoiden hyödyntämistä tehokkuuden parantamiseksi ja monimutkaisten tilanteiden hallitsemiseksi päivittäistavarakaupan ympäristössä:
Tässä on sisäkkäisen for-silmukan perusrakenne Pythonissa:
for outer_var in outer_sequence:
for inner_var in inner_sequence:
# Code to run for each combination
Tämä tarkoittaa, että jokaiselle ulomman sekvenssin arvolle sisempi silmukka käy läpi koko oman sekvenssinsä.
Sisäkkäiset silmukat ovat erittäin hyödyllisiä ohjelmoinnissa, kun täytyy käydä läpi useita sekvenssejä samanaikaisesti. Sijoittamalla yksi silmukka toisen sisään voidaan käydä läpi alkioita kahdessa tai useammassa ulottuvuudessa, kuten listojen listassa:
123456789# Simple list of lists: each sublist is a department items = [ ["Apple", "Banana"], # Fruits ["Milk", "Cheese"] # Dairy ] for department in items: for item in department: print(item)
Ulkoinen silmukka käy läpi jokaisen alilistan department_stocks-listassa, jossa jokainen alilista edustaa osastoa. Sisäinen silmukka tulostaa jokaisen tuotteen nykyisestä alilistasta. Ulkoinen silmukka siirtyy seuraavaan osastoon vasta, kun kaikki nykyisen alilistan tuotteet on tulostettu.
Entä jos et käyttäisi sisäkkäistä silmukkaa
Jos yrität tulostaa jokaisen tuotteen lista listoista -rakenteesta ilman sisäkkäistä silmukkaa, saatat vahingossa tulostaa alilistat itsessään, etkä niiden sisältämiä tuotteita. Tässä on esimerkki koodista, jossa käytetään vain yhtä silmukkaa:
items = [
["Apple", "Banana"], # Fruits
["Milk", "Cheese"] # Dairy
]
for department in items:
print(department)
Tämä koodi tulostaa:
['Apple', 'Banana']
['Milk', 'Cheese']
Yksittäisten elintarvikkeiden sijaan saat koko alilistan (osaston) yhdelle riville.
Ilman sisäkkäistä silmukkaa et voi suoraan käsitellä sisäisten listojen jokaista alkiota. Sisäkkäiset silmukat ovat välttämättömiä, kun täytyy käsitellä usean tason tietorakenteen alkioita.
123456789# List of lists representing grocery sections items = [ ["Apple", "Banana"], # Fruits ["Milk", "Cheese"] # Dairy ] # Non-nested loop: prints each sublist as a whole for section in items: print(section)
Swipe to start coding
Sinulla on kaksi elintarvikelistaa: produce ja dairy.
Yhdistä ensin nämä kaksi listaa yhdeksi listaksi nimeltä groceries.
Kumpikin lista (produce ja dairy) tulee olla omana alkionaan groceries-listassa.
Käytä sitten sisäkkäisiä for-silmukoita tulostaaksesi kaikkien tuotteiden nimet:
- Ulkoinen silmukka käy läpi jokaisen listan
groceries-listassa (kutsu sitäsection). - Sisäinen silmukka käy läpi jokaisen tuotteen kyseisessä listassa.
- Tulosta jokainen tuote omalle rivilleen seuraavassa muodossa:
Item name: <item>
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 1.89
Sisäkkäiset Silmukat
Pyyhkäise näyttääksesi valikon
Sisäkkäiset silmukat laajentavat yksinkertaisten silmukoiden mahdollisuuksia sallimalla toistuvien toimintojen suorittamisen useissa ulottuvuuksissa. Tämä on olennaista monimutkaisempien tehtävien käsittelyssä päivittäistavarakaupassa, kuten monitasoisen varastodatan järjestämisessä tai aikataulujen yhteensovittamisessa eri osastojen välillä.
Katso, kuinka Alex havainnollistaa sisäkkäisten silmukoiden hyödyntämistä tehokkuuden parantamiseksi ja monimutkaisten tilanteiden hallitsemiseksi päivittäistavarakaupan ympäristössä:
Tässä on sisäkkäisen for-silmukan perusrakenne Pythonissa:
for outer_var in outer_sequence:
for inner_var in inner_sequence:
# Code to run for each combination
Tämä tarkoittaa, että jokaiselle ulomman sekvenssin arvolle sisempi silmukka käy läpi koko oman sekvenssinsä.
Sisäkkäiset silmukat ovat erittäin hyödyllisiä ohjelmoinnissa, kun täytyy käydä läpi useita sekvenssejä samanaikaisesti. Sijoittamalla yksi silmukka toisen sisään voidaan käydä läpi alkioita kahdessa tai useammassa ulottuvuudessa, kuten listojen listassa:
123456789# Simple list of lists: each sublist is a department items = [ ["Apple", "Banana"], # Fruits ["Milk", "Cheese"] # Dairy ] for department in items: for item in department: print(item)
Ulkoinen silmukka käy läpi jokaisen alilistan department_stocks-listassa, jossa jokainen alilista edustaa osastoa. Sisäinen silmukka tulostaa jokaisen tuotteen nykyisestä alilistasta. Ulkoinen silmukka siirtyy seuraavaan osastoon vasta, kun kaikki nykyisen alilistan tuotteet on tulostettu.
Entä jos et käyttäisi sisäkkäistä silmukkaa
Jos yrität tulostaa jokaisen tuotteen lista listoista -rakenteesta ilman sisäkkäistä silmukkaa, saatat vahingossa tulostaa alilistat itsessään, etkä niiden sisältämiä tuotteita. Tässä on esimerkki koodista, jossa käytetään vain yhtä silmukkaa:
items = [
["Apple", "Banana"], # Fruits
["Milk", "Cheese"] # Dairy
]
for department in items:
print(department)
Tämä koodi tulostaa:
['Apple', 'Banana']
['Milk', 'Cheese']
Yksittäisten elintarvikkeiden sijaan saat koko alilistan (osaston) yhdelle riville.
Ilman sisäkkäistä silmukkaa et voi suoraan käsitellä sisäisten listojen jokaista alkiota. Sisäkkäiset silmukat ovat välttämättömiä, kun täytyy käsitellä usean tason tietorakenteen alkioita.
123456789# List of lists representing grocery sections items = [ ["Apple", "Banana"], # Fruits ["Milk", "Cheese"] # Dairy ] # Non-nested loop: prints each sublist as a whole for section in items: print(section)
Swipe to start coding
Sinulla on kaksi elintarvikelistaa: produce ja dairy.
Yhdistä ensin nämä kaksi listaa yhdeksi listaksi nimeltä groceries.
Kumpikin lista (produce ja dairy) tulee olla omana alkionaan groceries-listassa.
Käytä sitten sisäkkäisiä for-silmukoita tulostaaksesi kaikkien tuotteiden nimet:
- Ulkoinen silmukka käy läpi jokaisen listan
groceries-listassa (kutsu sitäsection). - Sisäinen silmukka käy läpi jokaisen tuotteen kyseisessä listassa.
- Tulosta jokainen tuote omalle rivilleen seuraavassa muodossa:
Item name: <item>
Ratkaisu
Kiitos palautteestasi!
single