Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
Lavorare con liste e altri oggetti iterabili è un compito comune nella programmazione Python . A volte, potrebbe essere necessario scorrere questi iterabili tenendo anche traccia dell'indice o del conteggio dell'elemento corrente. È qui che la funzione enumerate() integrata di Python viene in soccorso.
La funzione enumerate() in Python fornisce un modo conveniente per accedere sia all'indice di un elemento che all'elemento stesso quando si esegue il ciclo su un elenco o su qualsiasi oggetto iterabile.
Questa funzione rende il tuo codice più Pythonic , leggibile ed efficiente. Ti consente di scorrere gli elementi e recuperare sia il loro indice che il loro valore. Invece di inizializzare e incrementare manualmente un contatore all'interno del ciclo, puoi fare affidamento su enumerate() per eseguire il lavoro per te.
In questo articolo imparerai a conoscere la funzione incorporata di Python enumerate(), la sua importanza nel tuo codice Python e i suoi casi d'uso.
Entriamo in esso!
Sommario
Che cos'è la funzione di enumerazione di Python?
Immagina di lavorare con una struttura dati di elenco e di voler fare qualcosa con ogni elemento, ma devi anche conoscere la posizione dell'elemento nell'elenco.
Senza Python enumerate(), potresti decidere di utilizzare una variabile contatore che incrementi in ogni iterazione del ciclo. Ma questo approccio potrebbe essere soggetto a errori e non è molto "pitonico".
Enumerate è una funzione incorporata in Python che consente di eseguire iterazioni su oggetti iterabili tenendo traccia dell'indice dell'elemento corrente.
Ora che hai capito cos'è la funzione enumerate() in Python, passiamo alla sintassi della funzione enumerate() di Python nella prossima sezione!
Qual è la sintassi della funzione di enumerazione di Python?
La sintassi di una funzione definisce come dovresti usare quella funzione nel tuo codice, inclusi quali argomenti accetta e cosa restituisce.
La funzione enumerate() accetta la seguente sintassi:
enumerate(, start=0)
: Questo è un parametro obbligatorio e può essere qualsiasi iterabile Python, ad esempio un elenco o una tupla.
start : questo secondo parametro è un parametro facoltativo che specifica il valore iniziale del contatore. Per impostazione predefinita, è impostato su 0.
Il valore restituito dalla funzione enumerate() è un oggetto enumerate, che è un iteratore con coppie di (indice, elemento) per ogni elemento nell'iterabile dato.
È possibile utilizzare questo iteratore in un ciclo for per accedere contemporaneamente sia all'indice che all'elemento.
L'esempio seguente mostra come utilizzare la funzione enumerate() con un elenco:
fruits = ['apple', 'banana', 'cherry']
for index, item in enumerate(fruits):
print(index, item)
In questo esempio, enumerate() scorre gli oggetti enumerate, ad esempio l' elenco dei frutti , e assegna un indice a ciascun elemento, a partire da 0.
Il ciclo for decomprime quindi l'indice e l'elemento dall'oggetto enumerato. Ciò consente di eseguire operazioni basate sia sull'indice che sul valore dell'elemento.
Stiamo usando la funzione di stampa per stampare l'indice e l'elemento sullo schermo. L'output del codice è riportato nell'immagine seguente:
Nell'output, puoi vedere che l'indice iniziale è 0. Questo è il valore predefinito dell'indice assegnato automaticamente dall'interprete Python.
Tuttavia, puoi anche specificare un valore iniziale diverso per il contatore fornendo il parametro start facoltativo come mostrato nel codice seguente:
for index, item in enumerate(fruits, start=1):
print(index, item)
L'output sarà simile a quello sopra. L'unica differenza sarà che l'indice ora parte da 1.
Quindi ora hai un controllo sulla sintassi della funzione enumerate() in Python. Ma, come con qualsiasi strumento, è importante sapere quando e dove usarlo.
Ecco perché esploreremo alcuni casi d'uso comuni per la funzione enumerate() nella prossima sezione!
5 Casi d'uso della funzione Python Enumerate
La funzione enumerate in Python è ampiamente utilizzata in scenari in cui sia l'indice che il valore di un oggetto iterabile sono importanti per il programmatore.
Di seguito abbiamo elencato alcuni dei casi d'uso comuni per le funzioni di enumerazione in Python.
1. Come utilizzare Enumerate con gli elenchi Python
In Python, una lista è una struttura dati incorporata che consente di memorizzare più elementi in una singola variabile. Pensa a un elenco come a un contenitore in cui puoi inserire diversi elementi e mantengono il loro ordine.
La funzione enumerate() può essere utilizzata sugli elenchi in vari modi, ad esempio:
A. Accesso agli elementi della lista e ai loro indici con Python Enumerate
Uno dei casi d'uso più comuni per enumerate() è quando è necessario accedere sia agli elementi di una lista che ai loro indici. Enumerate ti consente di farlo in modo pulito ed efficiente.
Di seguito è riportato un esempio di accesso agli elementi di una lista e ai relativi indici:
fruits = ['apple', 'banana', 'mango', 'grape', 'orange']
for index, fruit in enumerate(fruits):
print(f"At index {index}, the fruit is {fruit}.")
L'output di questo codice è riportato nell'immagine seguente:
B. Modifica degli elementi dell'elenco con Python Enumerate
Quando è necessario modificare gli elementi di una lista in base al loro indice, enumerate() è uno strumento eccellente. È possibile accedere all'indice all'interno del ciclo e utilizzarlo per modificare l'elenco.
Di seguito è riportato un esempio di modifica degli elementi dell'elenco con la funzione enumerate:
numbers = [1, 2, 3, 4, 5]
for i, num in enumerate(numbers):
numbers[i] = num * 2
Questo codice Python crea un elenco di numeri da 1 a 5. Quindi, utilizza un ciclo for e la funzione enumerate() per scorrere l'elenco.
Per ogni iterazione, moltiplica il numero corrente (num) per 2 e lo riassegna alla stessa posizione nell'elenco (numbers[i]).
Il risultato è che ogni numero nell'elenco originale viene raddoppiato come mostrato nell'immagine qui sotto:
C. Confronto di elementi in due elenchi con Python Enumerate
Se stai confrontando elementi in due elenchi diversi, enumerate() può fornire l'indice necessario per accedere contemporaneamente agli elementi in entrambi gli elenchi.
Di seguito è riportato un esempio di utilizzo della funzione enumerate per confrontare gli elementi in due elenchi:
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)")
In questo codice, per prima cosa definiamo due liste, list1 e list2. Quindi, iteriamo attraverso list1 usando un ciclo for con enumerate(), che fornisce l'indice (i) e il valore di ciascun elemento.
Se l'elemento corrente in list1 non corrisponde all'elemento corrispondente in list2, stampa l'indice della differenza ei valori diversi da entrambi gli elenchi.
Il risultato di questo codice è mostrato di seguito:
2. Come utilizzare l'enumerazione con le tuple Python
Una tupla in Python è una raccolta ordinata di elementi, simile a una lista. L'unica differenza è che una tupla è immutabile, ovvero non è possibile modificarne il contenuto dopo la creazione.
Di seguito sono riportati alcuni dei casi in cui è possibile utilizzare enumerate con tuple Python.
A. Usare Python Enumerate() per trovare un elemento in una tupla
Quando si ha a che fare con le tuple in Python, spesso potrebbe essere necessario scoprire se un elemento esiste in una tupla.
Il codice di esempio seguente mostra l'utilizzo di enumerate per trovare gli elementi in una tupla:
fruits = ('apple', 'banana', 'mango', 'grape', 'orange')
for i, fruit in enumerate(fruits):
if fruit == 'mango':
print(f"'mango' found at position {i}")
Questo codice stamperà "'mango' trovato alla posizione 2" perché 'mango' è all'indice 2 nella tupla.
B. Utilizzo di Python Enumerate() per creare un dizionario da una tupla
Se hai una tupla e devi trasformarla in un dizionario, la funzione enumerate() di Python può essere il tuo strumento di riferimento.
Il codice di esempio mostra come creare un dizionario da una tupla utilizzando enumerate:
fruits = ('apple', 'banana', 'mango', 'grape', 'orange')
fruit_dict = {i: fruit for i, fruit in enumerate(fruits)}
print(fruit_dict)
Questo codice stamperà un dizionario in cui le chiavi sono gli indici ei valori sono gli elementi della tupla.
3. Come utilizzare Enumerate con i dizionari Python
In Python, un dizionario è una raccolta mutabile e non ordinata di coppie chiave-valore , in cui ogni chiave deve essere univoca. Pensalo come un dizionario della vita reale: cerchi una parola (la chiave) e ottieni la sua definizione (il valore).
Di seguito sono riportati alcuni dei casi in cui è possibile utilizzare enumerate con i dizionari Python:
A. Ciclo di chiavi e valori di un dizionario
È possibile utilizzare la funzione enumerate() per scorrere le chiavi ei valori di un dizionario.
La funzione enumerate() aggiunge un contatore a un oggetto iterabile (come i dizionari), consentendo di accedere al valore di indice corrente.
Di seguito è riportato un esempio di funzione di enumerazione con dizionario Python :
example_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
for i, k in enumerate(example_dict):
print(i, k)
In questo codice Python, per prima cosa creiamo un dizionario chiamato example_dict. Quindi, usiamo la funzione enumerate() per scorrere il dizionario.
Per ogni iterazione, stampiamo il conteggio del ciclo (che è dato da i e inizia da 0) e la chiave corrente (che è k) dal dizionario.
B. Combinazione di Python Enumerate con la funzione Items
Puoi anche accedere sia alle chiavi che ai valori di un dizionario tramite la funzione items() insieme a enumerate() . La funzione items() restituisce una raccolta iterabile di coppie chiave-valore come tuple.
L'esempio seguente mostra come utilizzare la funzione items() con enumerate() :
example_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
for i, (k, v) in enumerate(example_dict.items()):
print(i, k, v)
In questo codice, creiamo un dizionario denominato example_dict , quindi utilizziamo la funzione enumerate() per iterare sulle coppie chiave-valore del dizionario. Durante ogni iterazione, stampiamo l'indice del ciclo 'i', la chiave corrente 'k' e il suo valore corrispondente 'v'.
Ora hai una solida conoscenza di come utilizzare la funzione enumerate() di Python in alcuni scenari comuni. Ma enumerate() ha ancora di più da offrire.
Immergiamoci in alcuni casi d'uso avanzati relativi a enumerate() nella prossima sezione!
3 casi d'uso avanzati di Python Enumerate
In questa sezione, andremo oltre le nozioni di base ed esploreremo alcuni dei casi d'uso avanzati della funzione enumerate in Python.
Tratteremo i seguenti casi d'uso:
Utilizzo di Enumerate con le classi Python
Utilizzo di Enumerate con le classi Enum
Utilizzo di Enumerate per l'inversione dell'ordine
Entriamo in esso!
1. Utilizzo di Enumerate con le classi Python
Nel tuo viaggio di programmazione Python, potresti imbatterti in situazioni in cui desideri utilizzare l'enumerazione con classi personalizzate.
Per ottenere ciò, la tua classe dovrebbe implementare il metodo iter() , che gli consente di essere iterabile.
Considera una classe Color che memorizza i nomi dei colori e i loro valori esadecimali associati:
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}")
In questo codice creiamo una classe Color che accetta un dizionario di nomi di colori e i corrispondenti valori esadecimali.
Quando si utilizza enumerate() nel ciclo, fornisce l'indice insieme a ciascuna coppia chiave-valore. Ciò consente di stampare l'indice, il nome del colore e il relativo valore esadecimale in una stringa formattata.
2. Utilizzo di Python Enumerate con le classi Enum
Python viene fornito con una classe Enum incorporata , che consente di creare tipi di enumerazione con valori interi assegnati automaticamente.
Ad esempio, dai un'occhiata al seguente codice:
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}")
In questo script, stiamo definendo una direzione di enumerazione con quattro membri (NORD, EST, SUD e OVEST) utilizzando il modulo enum di Python. La funzione auto() assegna un valore automatico a ciascun membro.
Quando si utilizza enumerate() nel ciclo, fornisce un indice insieme a ciascun membro di enumerazione. Ciò consente di stampare l'indice, il nome del membro e il valore assegnato automaticamente in una stringa formattata.
L'output di questo codice è riportato nell'immagine seguente:
3. Utilizzo di Python Enumerate per l'inversione dell'ordine
In alcuni casi, potresti voler enumerare gli elementi in ordine inverso. È possibile ottenere ciò utilizzando la funzione incorporata reversed() in combinazione con enumerate() .
L'esempio seguente mostra l'enumerazione degli elementi in ordine inverso:
my_list = ["apple", "banana", "cherry"]
for index, item in enumerate(reversed(my_list)):
print(f"{index}: {item}")
In questo codice, stiamo iterando su una versione invertita di my_list usando enumerate(). Questo ti fornisce l'indice e l'elemento dall'elenco invertito in ogni iterazione. Consente di stampare l'indice e l'elemento in una stringa formattata.
La funzione reversed() non modificherà la sequenza originale; crea un nuovo iteratore che presenta gli elementi in ordine inverso.
Per saperne di più sulle funzioni in Python, guarda il seguente video:
Pensieri finali
Mentre continui il tuo viaggio in Python, padroneggiare la funzione enumerate() è un must. È uno strumento che migliora la leggibilità e l'efficienza del codice.
Usando enumerate(), puoi accedere senza problemi sia all'indice che al valore nei tuoi loop, riducendo la necessità di controvariabili o indicizzazione. Semplifica il tuo codice e lo rende più Pythonic.
Che tu stia scorrendo liste, tuple, stringhe o dizionari, enumerate() si dimostrerà uno strumento prezioso. Comprendendo ed esercitandoti con enumerate(), farai un passo significativo nell'affinare le tue abilità di programmazione Python!
Cos'è il sé in Python: esempi del mondo reale
Imparerai come salvare e caricare oggetti da un file .rds in R. Questo blog tratterà anche come importare oggetti da R a LuckyTemplates.
In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.
Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.
In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.
Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.
Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.
Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.
Se finora utilizzi ancora Excel, questo è il momento migliore per iniziare a utilizzare LuckyTemplates per le tue esigenze di reportistica aziendale.
Che cos'è il gateway LuckyTemplates? Tutto quello che devi sapere