Corso
In Python, puoi usare la funzione list(), che crea una raccolta manipolabile per le tue analisi. Questa raccolta di dati è chiamata oggetto lista.
Anche se in Python tutti i metodi sono funzioni, non tutte le funzioni sono metodi. C’è una differenza chiave tra funzioni e metodi in Python: le funzioni prendono oggetti come input, mentre i metodi agiscono sugli oggetti.
Python offre le seguenti funzioni per le liste:
- sort(): ordina la lista in ordine crescente.
- type(list): restituisce il tipo di classe di un oggetto.
- append(): aggiunge un singolo elemento a una lista.
- extend(): aggiunge più elementi a una lista.
- index(): restituisce la prima occorrenza del valore specificato.
- max(list): restituisce l’elemento con il valore massimo nella lista.
- min(list): restituisce l’elemento con il valore minimo nella lista.
- len(list): restituisce la lunghezza totale della lista.
- list(seq): converte una tupla in una lista.
- cmp(list1, list2): confronta gli elementi di entrambe le liste list1 e list2.
- filter(fun,list): filtra la lista usando la funzione Python.
- Funzioni e metodi delle liste in Python
Metodo sort per le liste in Python
Il metodo sort() è un metodo incorporato di Python che, per impostazione predefinita, ordina la lista in ordine crescente. Puoi però modificare l’ordinamento da crescente a decrescente specificando i criteri di ordinamento.
Ordinare una lista in ordine crescente
Supponiamo di voler ordinare gli elementi di prices in ordine crescente. Digita il nome della lista, seguito da un punto e dal nome del metodo, cioè sort con le parentesi.
prices = [238.11, 237.81, 238.91]
prices.sort()
print(prices)
# [237.81, 238.11, 238.91]
Funzione type() per le liste in Python
La funzione type() restituisce il tipo di classe di un oggetto.
Verificare il tipo di dati di una lista
Qui vedremo di che tipo sono sia fam che fam2:
fam = ["liz", 1.73, "emma", 1.68, "mom", 1.71, "dad", 1.89]
print(fam)
# ['liz', 1.73, 'emma', 1.68, 'mom', 1.71, 'dad', 1.89]
Vediamo qual è il tipo dell’oggetto:
fam = ["liz", 1.73, "emma", 1.68, "mom", 1.71, "dad", 1.89]
print(type(fam))
# <class 'list'>
Ora guardiamo fam2.
fam2 = [["liz", 1.73],
["emma", 1.68],
["mom", 1.71],
["dad", 1.89]]
print(fam2)
# [['liz', 1.73], ['emma', 1.68], ['mom', 1.71], ['dad', 1.89]]
Vediamo qual è il tipo dell’oggetto:
fam2 = [["liz", 1.73],
["emma", 1.68],
["mom", 1.71],
["dad", 1.89]]
print(type(fam2))
# <class 'list'>
Queste chiamate mostrano che sia fam che fam2 sono effettivamente liste.
Metodo append per le liste in Python
Il metodo append() aggiunge il contenuto indicato alla fine degli elementi selezionati.
Aggiungere un singolo elemento a una lista
In questo esempio, estendiamo la stringa aggiungendo "April" alla lista con il metodo append(). Usare append() aumenterà la lunghezza della lista di 1.
months = ['January', 'February', 'March']
months.append('April')
print(months)
# ['January', 'February', 'March', 'April']
Metodo extend per le liste in Python
Il metodo extend() aumenta la lunghezza della lista del numero di elementi forniti al metodo; quindi, se vuoi aggiungere più elementi alla lista, puoi usare questo metodo.
Aggiungere più elementi a una lista
x = [1, 2, 3]
x.extend([4, 5])
print(x)
# [1, 2, 3, 4, 5]
Metodo index per le liste in Python
Il metodo index() restituisce la prima occorrenza del valore specificato.
Trovare la posizione di un elemento
Nell’esempio seguente, vediamo l’indice di February nella lista months.
months = ['January', 'February', 'March']
prices = [238.11, 237.81, 238.91]
print(months.index('February'))
# 1
Questo metodo permette di identificare che February si trova all’indice 1. Ora possiamo accedere al prezzo corrispondente di February usando questo indice.
months = ['January', 'February', 'March']
prices = [238.11, 237.81, 238.91]
print(prices[1])
# 237.81
Funzione max per le liste in Python
La funzione max() restituisce il valore più alto tra quelli in input.
Trovare il valore più grande in una lista
In questo esempio, useremo la funzione max() per trovare il prezzo massimo nella lista chiamata price.
# Find the maximum price in the list price
prices = [159.54, 37.13, 71.17]
price_max = max(prices)
print(price_max)
# 159.54
Funzione min per le liste in Python
La funzione min() restituisce il valore più basso tra quelli in input.
Trovare il valore più piccolo in una lista
In questo esempio, troverai il mese con l’indice dei prezzi al consumo (CPI) più basso.
Per identificare il mese con l’indice dei prezzi al consumo più basso, applica prima la funzione min() a prices per ottenere il min_price. Poi, puoi usare il metodo index per trovare la posizione di min_price. Usando questo indice su months, puoi identificare il mese con l’indice dei prezzi al consumo più basso.
months = ['January', 'February', 'March']
prices = [238.11, 237.81, 238.91]
# Identify min price
min_price = min(prices)
# Identify min price index
min_index = prices.index(min_price)
# Identify the month with min price
min_month = months[min_index]
print(min_month)
# February
Funzione len per le liste in Python
La funzione len() mostra il numero di elementi in una lista. Nell’esempio seguente, guarderemo di nuovo i dati dei prezzi azionari usando numeri interi.
Contare gli elementi in una lista
stock_price_1 = [50.23]
stock_price_2 = [75.14, 85.64, 11.28]
print('stock_price_1 length is', len(stock_price_1))
print('stock_price_2 length is', len(stock_price_2))
# stock_price_1 length is 1
# stock_price_2 length is 3
Funzione list() in Python
La funzione list() prende una struttura iterabile e la trasforma in una lista. Ecco la sintassi:
list([iterable])
Convertire una tupla in una lista
Nell’esempio seguente lavorerai con dati di prezzi azionari. Stampiamo una lista vuota, convertiamo una tupla in una lista e infine stampiamo una lista come lista.
# empty list
print(list())
# tuple of stock prices
stocks = ('238.11', '237.81', '238.91')
print(list(stocks))
# list of stock prices
stocks_1 = ['238.11', '237.81', '238.91']
print(list(stocks_1))
# []
# ['238.11', '237.81', '238.91']
# ['238.11', '237.81', '238.91']
Funzione filter() in Python
La funzione filter() accetta una funzione e una o più liste e restituisce un iteratore con gli elementi filtrati. Puoi creare una funzione di filtro in Python oppure usare una funzione lambda per ottenere una lista filtrata.
Nota: puoi anche usare i cicli, le list comprehension e il pattern matching sulle stringhe per ottenere una lista filtrata.
Filtrare gli elementi di una lista in base a una condizione
Per prima cosa creeremo una funzione di filtro che restituisce valori booleani. Consisterà in semplici funzioni logiche. Nel nostro caso, filtreremo i prezzi degli articoli maggiori di 350. Poi useremo filter() per applicare la funzione alla lista item_price e ottenere un iteratore di elementi filtrati.
Per accedere agli elementi filtrati, possiamo estrarre i valori con un ciclo for oppure convertire l’iteratore in una lista.
def filter_price(price):
if (price > 350):
return True
else:
return False
item_price = [230, 400, 450, 350, 370]
# applying filter function
filtered_price = filter(filter_price, item_price)
print(list(filtered_price))
# [400, 450, 370]
Puoi anche scrivere il codice in una singola riga usando una funzione lambda per ottenere gli elementi filtrati.
item_price = [230, 400, 450, 350, 370]
# lambda function with filter()
filtered_price = filter(lambda a: a > 350, item_price)
print(list(filtered_price))
# [400, 450, 370]
Per saperne di più su metodi e funzioni delle liste, guarda questo video del nostro corso Introduction to Python for Finance.
Questo contenuto è tratto dal corso Introduction to Python for Finance di Adina Howe su DataCamp.

In quanto data scientist certificato, sono appassionato di sfruttare tecnologie all’avanguardia per creare applicazioni di machine learning innovative. Con una solida esperienza in riconoscimento vocale, analisi e reportistica dei dati, MLOps, AI conversazionale e NLP, ho affinato le mie competenze nello sviluppo di sistemi intelligenti in grado di avere un impatto concreto. Oltre alla mia expertise tecnica, sono anche un comunicatore efficace, con il talento di rendere chiari e sintetici concetti complessi. Di conseguenza, sono diventato un blogger molto seguito in ambito data science, condividendo idee ed esperienze con una community in crescita di professionisti dei dati. Attualmente mi concentro sulla creazione e sull’editing di contenuti, lavorando con large language model per sviluppare contenuti potenti e coinvolgenti che possano aiutare aziende e singoli a valorizzare al meglio i propri dati.
Domande frequenti su funzioni e metodi delle liste in Python
Che cos’è una lista in Python?
Una delle principali strutture dati integrate in Python per memorizzare un numero qualsiasi di elementi. Le caratteristiche principali delle liste Python sono: sono iterabili, ordinate, indicizzate, mutabili e consentono valori duplicati.
Come si crea una lista in Python?
Inserisci una sequenza di elementi tra parentesi quadre separandoli con la virgola, ad esempio ['cake', 'ice-cream', 'donut']. In alternativa, usa la funzione integrata list() con doppie parentesi: list(('cake', 'ice-cream', 'donut')). Per creare una lista vuota, usa le parentesi quadre vuote ([]) o la funzione list() senza passare alcun argomento (list()). Di solito, una lista Python viene assegnata a una variabile per un uso successivo.
A cosa serve una lista in Python?
Quando abbiamo bisogno di tenere insieme più elementi correlati disposti in un ordine definito, eventualmente di tipi di dati eterogenei e/o con duplicati. Vogliamo poi poter modificare tali elementi, aggiungerne o rimuoverne, e applicare le stesse operazioni su più valori contemporaneamente.
Che tipi di oggetti può contenere una lista Python?
Qualsiasi tipo di oggetto Python, sia primitivo (interi, float, stringhe, booleani) sia complesso (altre liste, tuple, dizionari, ecc.). In una stessa lista Python possono esserci tipi di dati diversi, ad esempio ['cake', 1, 3.14, [0, 2]], il che rende questa struttura molto flessibile.
Una lista Python è ordinata?
Sì. Gli elementi di una lista Python hanno un ordine fisso, il che rende questa struttura anche indicizzata. Ogni elemento ha un indice corrispondente alla sua posizione nella lista, a partire da 0 per il primo elemento. L’ultimo elemento di una lista ha indice N-1, dove N è il numero di elementi nella lista.
Una lista Python è mutabile?
Sì. I valori degli elementi di una lista Python possono essere modificati dopo la creazione della lista, senza dover riassegnare la lista a una variabile. Gli elementi possono anche essere aggiunti o rimossi, modificando dinamicamente la dimensione della lista.
Una lista Python consente valori duplicati?
Sì. Poiché queste strutture dati sono ordinate e indicizzate, una lista Python può contenere qualsiasi numero di elementi ripetuti.
Qual è la differenza tra append() ed extend() in Python?
Mentre il metodo append() permette di aggiungere un singolo elemento alla fine di una lista Python, il metodo extend() permette di aggiungerne più di uno. Nel primo caso la lunghezza della lista aumenta di 1; nel secondo, aumenta del numero di elementi aggiunti.

