Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
Lucrul cu liste și alte obiecte iterabile este o sarcină comună în programarea Python . Uneori, poate fi necesar să parcurgeți aceste iterabile în timp ce urmăriți indexul sau numărul elementului curent. Acolo vine în ajutor funcția încorporată enumerate() din Python.
Funcția enumerate() din Python vă oferă o modalitate convenabilă de a accesa atât indexul unui articol, cât și articolul în sine atunci când treceți în buclă peste o listă sau orice obiect iterabil.
Această funcție vă face codul mai Pythonic , mai ușor de citit și mai eficient. Vă permite să parcurgeți elementele și să regăsiți atât indicele, cât și valoarea acestora. În loc să inițializați și să incrementați manual un contor în buclă, vă puteți baza pe enumerate() pentru a face treaba pentru dvs.
În acest articol, veți afla despre funcția integrată enumerate() din Python, despre importanța acesteia în codul dvs. Python și despre cazurile sale de utilizare.
Să intrăm în ea!
Cuprins
Ce este funcția Python Enumerate?
Imaginați-vă că lucrați cu o structură de date de listă și doriți să faceți ceva cu fiecare articol, dar trebuie să cunoașteți și poziția articolului în listă.
Fără Python enumerate(), ați putea decide să utilizați o variabilă contor pe care o incrementați în fiecare iterație a buclei. Dar această abordare ar putea fi predispusă la erori și nu este foarte „Pythonic”.
Enumerate este o funcție încorporată în Python care vă permite să repetați peste obiecte iterabile, ținând evidența indexului articolului curent.
Acum că ați înțeles ce este funcția enumerate() din Python, să trecem la sintaxa funcției Python enumerate() în secțiunea următoare!
Care este sintaxa funcției Python Enumerate?
Sintaxa unei funcții definește modul în care ar trebui să utilizați acea funcție în codul dvs., inclusiv ce argumente ia și ce returnează.
Funcția enumerate () are următoarea sintaxă:
enumerate(, start=0)
: Acesta este un parametru obligatoriu și poate fi orice iterabil Python, cum ar fi o listă sau un tuplu.
start : Acest al doilea parametru este un parametru opțional care specifică valoarea de pornire a contorului. În mod implicit, este setat la 0.
Valoarea returnată a funcției enumerate() este un obiect enumerate, care este un iterator având perechi de (index, element) pentru fiecare element din iterabilul dat.
Puteți utiliza acest iterator într-o buclă for pentru a accesa atât indexul, cât și elementul simultan.
Următorul exemplu arată cum puteți utiliza funcția enumerate() cu o listă:
fruits = ['apple', 'banana', 'cherry']
for index, item in enumerate(fruits):
print(index, item)
În acest exemplu, enumerate() parcurge obiectele enumerate, adică lista de fructe , și atribuie un index fiecărui element, începând de la 0.
Bucla for despachetează apoi indexul și elementul din obiectul enumerat. Acest lucru vă permite să efectuați operațiuni bazate atât pe index, cât și pe valoarea articolului.
Folosim funcția de imprimare pentru a imprima indexul și articolul pe ecran. Ieșirea codului este dată în imaginea de mai jos:
În rezultat, puteți vedea că indexul de pornire este 0. Aceasta este valoarea implicită a indexului atribuit automat de interpretul Python.
Cu toate acestea, puteți specifica și o valoare de pornire diferită pentru contor, furnizând parametrul de pornire opțional , așa cum se arată în codul de mai jos:
for index, item in enumerate(fruits, start=1):
print(index, item)
Ieșirea va fi similară cu cea de mai sus. Singura diferență va fi că indicele începe acum de la 1.
Așadar, acum aveți un control asupra sintaxei funcției enumerate() în Python. Dar, ca în cazul oricărui instrument, este important să știți când și unde să îl folosiți.
De aceea, vom explora câteva cazuri comune de utilizare pentru funcția enumerate() în secțiunea următoare!
5 Cazuri de utilizare ale funcției Python Enumerate
Funcția de enumerare din Python este utilizată pe scară largă în scenariile în care atât indexul, cât și valoarea unui obiect iterabil sunt importante pentru programator.
Am enumerat mai jos câteva dintre cazurile comune de utilizare pentru funcțiile enumerate în Python.
1. Cum se utilizează Enumerate cu liste Python
În Python, o listă este o structură de date încorporată care vă permite să stocați mai multe articole într-o singură variabilă. Gândiți-vă la o listă ca la un container în care puteți pune diferite articole, iar ei își mențin ordinea.
Funcția enumerate() poate fi utilizată pe liste într-o varietate de moduri, cum ar fi:
A. Accesarea elementelor Listă și a indicilor acestora cu Python Enumerate
Unul dintre cele mai frecvente cazuri de utilizare pentru enumerate() este atunci când trebuie să accesați atât elementele unei liste, cât și indicii acestora. Enumerate vă permite să faceți acest lucru într-un mod curat și eficient.
Următorul este un exemplu de accesare a elementelor unei liste și a indicii acestora:
fruits = ['apple', 'banana', 'mango', 'grape', 'orange']
for index, fruit in enumerate(fruits):
print(f"At index {index}, the fruit is {fruit}.")
Rezultatul acestui cod este prezentat în imaginea de mai jos:
B. Modificarea elementelor listei cu Python Enumerate
Când trebuie să modificați elementele unei liste pe baza indexului lor, enumerate() este un instrument excelent. Puteți accesa indexul în buclă și îl puteți utiliza pentru a modifica lista.
Următorul este un exemplu de modificare a elementelor listei cu funcția enumerate:
numbers = [1, 2, 3, 4, 5]
for i, num in enumerate(numbers):
numbers[i] = num * 2
Acest cod Python creează o listă de numere de la 1 la 5. Apoi, folosește o buclă for și funcția enumerate() pentru a itera peste listă.
Pentru fiecare iterație, înmulțește numărul curent (num) cu 2 și îl reatribuie la aceeași poziție în listă (numerele[i]).
Rezultatul este că fiecare număr din lista originală este dublat așa cum se arată în imaginea de mai jos:
C. Compararea elementelor din două liste cu Python Enumerate
Dacă comparați elemente din două liste diferite, enumerate() poate furniza indexul de care aveți nevoie pentru a accesa elementele din ambele liste în același timp.
Următorul este un exemplu de utilizare a funcției enumerate pentru a compara elemente din două liste:
list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 0, 5]
for i, value in enumerate(list1):
if value != list2[i]:
print(f"Difference at index {i}: {value} (list1) vs {list2[i]} (list2)")
În acest cod, definim mai întâi două liste, list1 și list2. Apoi, iterăm prin list1 folosind o buclă for cu enumerate(), care furnizează indexul (i) și valoarea fiecărui element.
Dacă elementul curent din list1 nu se potrivește cu elementul corespunzător din list2, se tipărește indexul diferenței și valorile diferite din ambele liste.
Rezultatul acestui cod este prezentat mai jos:
2. Cum se utilizează Enumerate cu Python Tuples
Un tuplu în Python este o colecție ordonată de elemente, similar cu o listă. Singura diferență este că un tuplu este imuabil, ceea ce înseamnă că nu îi poți schimba conținutul după creare.
Următoarele sunt câteva dintre cazurile în care puteți utiliza enumerate cu tupluri Python.
A. Folosind Python Enumerate() pentru a găsi un element într-un tuplu
Când aveți de-a face cu tupluri în Python, s-ar putea să fie nevoie adesea să aflați dacă un element există într-un tuplu.
Următorul exemplu de cod demonstrează utilizarea enumerate pentru a găsi elemente dintr-un tuplu:
fruits = ('apple', 'banana', 'mango', 'grape', 'orange')
for i, fruit in enumerate(fruits):
if fruit == 'mango':
print(f"'mango' found at position {i}")
Acest cod va tipări „'mango' găsit la poziția 2”, deoarece 'mango' se află la indexul 2 în tuplu.
B. Utilizarea Python Enumerate() pentru a crea un dicționar dintr-un tuplu
Dacă aveți un tuplu și trebuie să îl transformați într-un dicționar, funcția enumerate() din Python poate fi instrumentul dvs. de bază.
Exemplul de cod arată cum puteți crea un dicționar dintr-un tuplu folosind enumerate:
fruits = ('apple', 'banana', 'mango', 'grape', 'orange')
fruit_dict = {i: fruit for i, fruit in enumerate(fruits)}
print(fruit_dict)
Acest cod va tipări un dicționar în care cheile sunt indici și valorile sunt elementele din tuplu.
3. Cum să utilizați Enumerate cu dicționare Python
În Python, un dicționar este o colecție mutabilă, neordonată de perechi cheie-valoare , în care fiecare cheie trebuie să fie unică. Gândiți-vă la el ca la un dicționar real: căutați un cuvânt (cheia) și obțineți definiția lui (valoarea).
Următoarele sunt câteva dintre cazurile în care puteți folosi enumerate cu dicționarele Python:
A. Buclă prin chei și valori ale unui dicționar
Puteți folosi funcția enumerate() pentru a parcurge cheile și valorile unui dicționar.
Funcția enumerate() adaugă un contor la un obiect iterabil (cum ar fi dicționarele), permițându-vă accesul la valoarea curentă a indexului.
Un exemplu de funcție de enumerare cu dicționarul Python este dat mai jos:
example_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
for i, k in enumerate(example_dict):
print(i, k)
În acest cod Python, creăm mai întâi un dicționar numit example_dict. Apoi, folosim funcția enumerate() pentru a repeta peste dicționar.
Pentru fiecare iterație, imprimăm numărul de bucle (care este dat de i și începe de la 0) și cheia curentă (care este k) din dicționar.
B. Combinarea Python Enumerate cu funcția Items
De asemenea, puteți accesa atât cheile, cât și valorile unui dicționar prin funcția items() împreună cu enumerate() . Funcția items () returnează o colecție iterabilă de perechi cheie-valoare ca tupluri.
Exemplul de mai jos demonstrează cum puteți utiliza funcția items() cu enumerate() :
example_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
for i, (k, v) in enumerate(example_dict.items()):
print(i, k, v)
În acest cod, creăm un dicționar numit example_dict , apoi folosim funcția enumerate() pentru a itera perechile cheie-valoare ale dicționarului. În timpul fiecărei iterații, imprimăm indicele buclei „i”, cheia curentă „k” și valoarea ei corespunzătoare „v”.
Acum aveți o înțelegere solidă a modului de utilizare a funcției enumerate() din Python în unele scenarii comune. Dar enumerate() are și mai multe de oferit.
Să ne aprofundăm în câteva cazuri de utilizare avansate din jurul enumerate() în secțiunea următoare!
3 Cazuri avansate de utilizare a Python Enumerate
În această secțiune, vom depăși elementele de bază și vom explora unele dintre cazurile avansate de utilizare ale funcției enumerate în Python.
Vom acoperi următoarele cazuri de utilizare:
Utilizarea Enumerate cu clase Python
Utilizarea Enumerate cu clasele Enum
Utilizarea Enumerate pentru inversarea comenzii
Să intrăm în ea!
1. Utilizarea Enumerate cu clase Python
În călătoria dvs. de programare Python, puteți întâlni situații în care doriți să utilizați enumerarea cu clase personalizate.
Pentru a realiza acest lucru, clasa dumneavoastră ar trebui să implementeze metoda iter() , care îi permite să fie iterabilă.
Luați în considerare o clasă Color care stochează numele culorilor și valorile hexadecimale asociate acestora:
class Color:
def __init__(self, colors: dict):
self.colors = colors
def __iter__(self):
return iter(self.colors.items())
colors = Color({"red": "#FF0000", "green": "#00FF00", "blue": "#0000FF"})
for index, (name, hex_value) in enumerate(colors):
print(f"{index}: {name} => {hex_value}")
În acest cod, creăm o clasă Color care preia un dicționar de nume de culori și valorile lor hexazecimale corespunzătoare.
Când utilizați enumerate() în buclă, acesta furnizează indexul împreună cu fiecare pereche cheie-valoare. Acest lucru vă permite să imprimați indexul, numele culorii și valoarea sa hexazecimală într-un șir formatat.
2. Utilizarea Python Enumerate cu clasele Enum
Python vine cu o clasă Enum încorporată , care vă permite să creați tipuri de enumerare cu valori întregi atribuite automat.
De exemplu, aruncați o privire la următorul cod:
from enum import Enum, auto
class Direction(Enum):
NORTH = auto()
EAST = auto()
SOUTH = auto()
WEST = auto()
for index, direction in enumerate(Direction):
print(f"{index}: {direction.name} => {direction.value}")
În acest script, definim o Direcție de enumerare cu patru membri (NORD, EST, SUD și VEST) folosind modulul de enumerare al lui Python. Funcția auto() atribuie o valoare automată fiecărui membru.
Când utilizați enumerate() în buclă, acesta oferă un index împreună cu fiecare membru al enumerației. Acest lucru vă permite să tipăriți indexul, numele membrului și valoarea acestuia atribuită automat într-un șir formatat.
Rezultatul acestui cod este prezentat în imaginea de mai jos:
3. Utilizarea Python Enumerate pentru inversarea comenzii
În unele cazuri, este posibil să doriți să enumerați articolele în ordine inversă. Puteți realiza acest lucru folosind funcția încorporată reversed() în combinație cu enumerate() .
Următorul exemplu demonstrează enumerarea elementelor în ordine inversă:
my_list = ["apple", "banana", "cherry"]
for index, item in enumerate(reversed(my_list)):
print(f"{index}: {item}")
În acest cod, repetăm o versiune inversată a my_list folosind enumerate(). Aceasta vă oferă indexul și elementul din lista inversată în fiecare iterație. Vă permite să imprimați indexul și elementul într-un șir formatat.
Funcția reversed() nu va modifica secvența originală; creează un nou iterator care prezintă elementele în ordine inversă.
Pentru a afla mai multe despre funcțiile din Python, consultați următorul videoclip:
Gânduri finale
Pe măsură ce vă continuați călătoria Python, stăpânirea funcției enumerate() este o necesitate. Este un instrument care îmbunătățește lizibilitatea și eficiența codului.
Folosind enumerate(), puteți accesa fără probleme atât indexul, cât și valoarea din buclele dvs., reducând nevoia de contravariabile sau de indexare. Vă simplifică codul și îl face mai Pythonic.
Indiferent dacă iterați prin liste, tupluri, șiruri de caractere sau dicționare, enumerate() se va dovedi a fi un instrument valoros. Înțelegând și exersând cu enumerate(), veți face un pas semnificativ în perfecționarea abilităților de programare Python!
Ce este Sinele în Python: Exemple din lumea reală
Veți învăța cum să salvați și să încărcați obiecte dintr-un fișier .rds în R. Acest blog va trata, de asemenea, cum să importați obiecte din R în LuckyTemplates.
În acest tutorial despre limbajul de codare DAX, aflați cum să utilizați funcția GENERATE și cum să schimbați în mod dinamic titlul unei măsuri.
Acest tutorial va acoperi cum să utilizați tehnica Multi Threaded Dynamic Visuals pentru a crea informații din vizualizările dinamice de date din rapoartele dvs.
În acest articol, voi trece prin contextul filtrului. Contextul de filtrare este unul dintre subiectele majore despre care orice utilizator LuckyTemplates ar trebui să învețe inițial.
Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.
Aflați cum să vă calculați modificările marjei de profit folosind tehnici precum măsurarea ramificării și combinarea formulelor DAX în LuckyTemplates.
Acest tutorial va discuta despre ideile de materializare a cache-urilor de date și despre modul în care acestea afectează performanța DAX-ului în furnizarea de rezultate.
Dacă încă utilizați Excel până acum, atunci acesta este cel mai bun moment pentru a începe să utilizați LuckyTemplates pentru nevoile dvs. de raportare a afacerii.
Ce este LuckyTemplates Gateway? Tot ce trebuie să știți