Python enumerate()-funktio: Silmukka, Tuple ja Merkkijono

⚡ Älykäs yhteenveto

Python enumerate() lisää automaattisen laskurin kaikkiin iteroitaviin, palauttaviin indeksi-arvo-pareihin silmukan aikana. Tässä osiossa opit sen syntaksin, valinnaisen aloitusindeksin ja miten se toimii listojen, tuplejen, merkkijonojen ja sanakirjojen kanssa.

  • 🔢 Mitä se tekee: Lisää laskurin iteroitavien, palauttavien indeksi-arvo-parien jokaiseen alkioon.
  • ⚙️ Syntaksi: enumerate(iterable, startIndex) ottaa iteroitavan arvon ja valinnaisen aloitusnumeron.
  • 🔟 Mukautettu aloitus: startIndex asettaa mistä laskenta alkaa; jätä se pois, jos haluat aloittaa nollasta.
  • 🔁 Vessaping: Yhdistä se for-silmukkaan lukeaksesi indeksin ja arvon yhdessä.
  • 📦 Mikä tahansa iteroitava: Toimii listoilla, tupleilla, merkkijonoilla ja sanakirjoilla.
  • 🤖 Tekoälyn apu: Copilot- ja tekoälytyökalut täydentävät enumerate()-silmukoita automaattisesti ja muokkaavat manuaalisia laskureita uudelleen.

Enumerate() Function in Python

Mikä on Python Luetella?

Python Luetella() on sisäänrakennettu toiminto, joka on saatavana kanssa Python kirjasto. Se ottaa annetun syötteen kokoelmana tai monikoina ja palauttaa sen enumerate-objektina. The Python Enumerate()-komento lisää laskurin jokaiseen iteroitavan objektin alkioon ja palauttaa enumerate-objektin tulostemerkkijonona.

Kohteen syntaksi Python luetella()

enumerate(iterable, startIndex)

parametrit

Kolme parametria ovat:

  • Toistuva: objekti, joka voidaan silmukalla.
  • Aloita hakemisto: (valinnainen) Laskenta alkaa arvolla, joka on annettu startIndexissä silmukan ensimmäiselle alkiolle, ja lisää sitä seuraavan kohteen kohdalla, kunnes se saavuttaa silmukan loppuun.

Jos startIndexiä ei kuitenkaan ole määritetty, laskenta alkaa nollasta.

ReturnValue

Se palauttaa syötteenä annettuun iteratorobject-objektiin iterable-objektin, jossa jokaiselle kohteelle on laskettu arvo.

Enumerate() in Python esimerkki

Luettelomenetelmässä on automaattinen laskuri/indeksi jokaiselle Luettelo-luettelossa olevalle kohteelle Python. Ensimmäinen indeksin arvo alkaa 0:sta. Voit myös määrittää aloitusindeksin käyttämällä valinnaista parametria startIndex kohdassa enumerate.
esimerkki
Alla olevassa koodissa mylist on luettelo, joka on annettu Enumerate-toiminnolle Python. lista()-funktio käytetään näyttämään Luettelo Python tuotos.

Huomautus: StartIndexiä ei käytetä, joten ensimmäisen kohteen indeksi alkaa nollasta.

Enumerate-tulostus on seuraava:

(0, item_1), (1, item_2), (2, item_3), … (n, item_n)

Tiedosto: python_enumerate.py

mylist = ['A', 'B' ,'C', 'D']
e_list = enumerate(mylist)
print(list(e_list))

lähtö:

[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]

Enumerate():n käyttäminen luettelossa, jossa on startIndex

Alla olevassa esimerkissä aloitusindeksi annetaan muodossa 2. Ensimmäisen kohteen indeksi alkaa annetusta aloitusindeksistä.

Esimerkiksi:

Alla olevassa esimerkissä mylist on luettelo, joka on annettu lueteltavaksi. Lista()-funktiota käytetään enumerate-tulosteen näyttämiseen.

mylist = ['A', 'B' ,'C', 'D']
e_list = enumerate(mylist,2)
print(list(e_list))

lähtö:

[(2, 'A'), (3, 'B'), (4, 'C'), (5, 'D')]

Vessaping Enumerate-objektin yli

Esimerkki näyttää luetteloimisen objektin yli startIndexin kanssa ja ilman.

  • Ensimmäisessä for-silmukassa ei ole startIndexiä, joten indeksi alkaa nollasta.
  • Toisen for-silmukan startIndex on 10, joten indeksi alkaa 10:stä.

Esimerkiksi:

mylist = ['A', 'B' ,'C', 'D']

for i in enumerate(mylist):
  print(i)
  print("\n")

print("Using startIndex as 10")    

for i in enumerate(mylist, 10):
  print(i)
  print("\n")

lähtö:

(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')

Using startIndex as 10
(10, 'A')
(11, 'B')
(12, 'C')
(13, 'D')

Tuplen luetteleminen

Alla olevassa esimerkissä voit käyttää monikkoa luettelon sisällä. Voit myös käyttää startIndexiä, jolloin kunkin kohteen avain alkaa startIndexgivenistä.

Oletusarvoisesti startIndex on 0. Siellä näet avaimen 0 kohteille A ja 1 kohteille B ja niin edelleen.

Esimerkiksi:

my_tuple = ("A", "B", "C", "D", "E")
for i in enumerate(my_tuple):
  print(i)

lähtö:

(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')
(4, 'E')

Merkkijonon luetteleminen

In Python, merkkijono on taulukko, joten voit kiertää sen yli. Jos annat merkkijonon kohtaan enumerate(), tulos näyttää sinulle merkkijonon jokaisen merkin indeksin ja arvon.

Esimerkiksi:

my_str = "Guru99 "
for i in enumerate(my_str):
  print(i)

lähtö:

(0, 'G')
(1, 'u')
(2, 'r')
(3, 'u')
(4, '9')
(5, '9')

Luettele sanakirja

In Python, sanakirja on lueteltu kihareissa suluissa, arvot ilmoitetaan näiden kiharasuluissa.

Jokainen elementti on avain/arvo-pari ja erotettu pilkuilla. Voit käyttää sanakirjaa enumerate():n sisällä ja nähdä tulosteen.

my_dict = {"a": "PHP", "b":"JAVA", "c":"PYTHON", "d":"NODEJS"}
for i in enumerate(my_dict):
  print(i)

lähtö:

(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')

Enumeraten käytön edut

Tässä on Enumerate in -käytön edut/edut Python:

  • Enumerate antaa sinun selata luetteloa, monikkoa, sanakirjaa, merkkijonoa ja antaa arvot indeksin kanssa.
  • Jos haluat saada indeksin arvon for-loopin avulla, voit käyttää tiedostoa list.index(n). List.index(n) on kuitenkin erittäin kallis, koska se kulkee for-silmukan läpi kahdesti. Enumerate on erittäin hyödyllinen tällaisessa tapauksessa, koska se antaa indeksin ja kohteet yhdellä kertaa.

UKK

enumerate() on sisäänrakennettu funktio, joka lisää laskurin iteroitavaan kohteeseen, kuten listaan, tupleen, merkkijonoon tai sanakirjaan, ja palauttaa indeksi-arvo-pareja.

Syntaksi on enumerate(iterable, startIndex). Iteroitava on mikä tahansa silmukoitava objekti; startIndex on valinnainen aloitusnumero. Ilman sitä laskenta alkaa nollasta.

Anna toinen argumentti, kuten enumerate(mylist, 2). Laskeminen alkaa sitten tästä arvosta nollan sijaan, joten ensimmäinen alkio saa indeksin 2.

Kyllä. Sanakirjan välittäminen käy läpi sen avaimet ja yhdistää jokaisen indeksiin. Luetteloi sanakirjan items()-funktiolla, kun tarvitset myös arvoja.

enumerate() on siistimpi ja nopeampi kuin manuaalinen indeksi tai list.index(n), joka skannaa kahdesti palauttaen indeksin ja alkion yhdessä.

Tekoälyavustajat, kuten GitHub Copilot, täydentävät automaattisesti enumerointi()-silmukoita, ehdottavat startIndexiä ja muokkaavat manuaalisia laskureita, mikä nopeuttaa idiomaattista käsittelyä. Python ja yksittäisten virheiden havaitseminen.

Kyllä. Tekoälyllä toimivat linterit automatisoivat tämän uudelleenjärjestelyn, havaitsevat range(len(x))-kuvioita ja kirjoittavat ne uudelleen enumerate(x)-muodossa puhtaampaa ja selkeämpää käyttöä varten. Pythonic-silmukat, joilla on identtinen käyttäytyminen.

enumerate() palauttaa enumerate-objektin, joka on (indeksi, arvo)-parien iteraattori. Tee tämä suoraan silmukassa tai kääri se list()-funktioon nähdäksesi kaikki parit.

Tiivistä tämä viesti seuraavasti: