Python Comprensione dell'elenco, Aggiungi, Ordina, Lunghezza [ESEMPI]
Che cos'è un Python Elenco?
Una lista è esattamente quello che sembra, un contenitore che contiene cose diverse Python oggetti, che potrebbero essere numeri interi, parole, valori, ecc. È l'equivalente di un array in altri linguaggi di programmazione. È rappresentato da parentesi quadre (e questo è uno degli attributi che lo differenzia dalle tuple, che sono separate da parentesi). È anche mutabile, cioè può essere modificato o aggiornato; a differenza delle tuple, che sono immutabili.
Esempi di Python liste:
Python Gli elenchi possono essere omogenei, ovvero possono contenere lo stesso tipo di oggetti, oppure eterogenei, ovvero possono includere tipi diversi di oggetti.
Esempi di elenchi omogenei includono:
list of integers = [1, 2, 3, 8, 33] list of animals = ['dog', 'cat', 'goat'] list of names = ['John', 'Travis', 'Sheila'] list of floating numbers = [2.2, 4.5, 9.8, 10.4]
Esempi di elenchi eterogenei includono:
[2, 'cat', 34.33, 'Travis'] [2.22, 33, 'pen']
Accesso ai valori all'interno degli elenchi
Per accedere ai valori all'interno degli elenchi è possibile utilizzare l'indice degli oggetti all'interno degli elenchi. Un indice in Python liste si riferisce alla posizione di un elemento all'interno di una lista ordinata. Per esempio:
list = [3, 22, 30, 5.3, 20]
- Il primo valore nell'elenco precedente, 3, ha un indice pari a 0
- Il secondo valore, 22, ha un indice pari a 1
- Il terzo valore, 30, ha un indice pari a 2
e così via. Per accedere a ciascuno dei valori dall'elenco, utilizzare:
list[0] to access 3 list[1] to access 22 list[2] to access 30 list[3] to access 5.3 list[4] to access 20
È possibile accedere all'ultimo membro di una lista anche utilizzando l'indice -1. Per esempio,
list[-1] = 20
Python Elenco affettamenti
Il list slicing è il metodo per dividere un sottoinsieme di un elenco e per questo vengono utilizzati anche gli indici degli oggetti dell'elenco. Ad esempio, utilizzando lo stesso elenco di cui sopra;
list[:] = [3, 22, 30, 5.3, 20] (all the members of the list]; list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3); list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4) list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).
Python gli elenchi sono esclusivi con limite superiore e ciò significa che l'ultimo indice durante il sezionamento dell'elenco viene solitamente ignorato. È per questo
list[2:-1] = [30, 5.3]
, e non [30, 5.3, 20]. Lo stesso vale per tutti gli altri esempi di suddivisione degli elenchi forniti sopra.
Aggiornamento elenchi
Diciamo che hai una lista = [fisica, chimica, matematica] e vuoi cambiare la lista in [biologia, chimica, matematica], cambiando di fatto il membro all'indice 0. Ciò può essere fatto facilmente assegnando quell'indice a nuovo membro che desideri.
Cioè,
list = [physics, chemistry, mathematics] list[0] = biology print(list)
Risultati: [biologia, chimica, matematica]
Questo sostituisce il membro all'indice 0 (fisica) con il nuovo valore desiderato (chimica). Questa operazione può essere eseguita per qualsiasi membro o sottoinsieme dell'elenco che desideri modificare.
Per fare un altro esempio; diciamo che hai una lista chiamata numeri interi e contenente i numeri [2, 5, 9, 20, 27]. Per sostituire 5 in quell'elenco con 10, puoi farlo con:
integers = [2, 5, 9, 20, 27] integers[1] = 10 print(integers) >>> [2, 10, 9, 20, 27]
Per sostituire l'ultimo membro dell'elenco dei numeri interi, che è 27, con un numero libero come 30.5, dovresti utilizzare:
integers = [2, 5, 9, 20, 27] integers[-1] = 30.5 print(integers) >>> [2, 5, 9, 20, 30.5]
Eliminazione di elementi dell'elenco
Ci sono 3 Python metodi per eliminare elementi di elenco: list.remove(), list.pop() e operatore del. Il metodo Remove accetta l'elemento specifico da rimuovere come argomento, mentre pop e del accettano l'indice dell'elemento da rimuovere come argomento. Ad esempio:
lista = [3, 5, 7, 8, 9, 20]
Per eliminare 3 (il primo elemento) dall'elenco, potresti utilizzare:
- list.remove(3) o
- list.pop[0], o
- del elenco[0]
Per eliminare 8, l'elemento all'indice 3, dall'elenco, potresti utilizzare:
- list.remove(8), o
- lista.pop[3]
Aggiunta di elementi dell'elenco
Per aggiungere elementi a un elenco, viene utilizzato il metodo append e questo aggiunge l'elemento alla fine dell'elenco.
Per esempio:
list_1 = [3, 5, 7, 8, 9, 20] list_1.append(3.33) print(list_1) >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33] list_1.append("cats") print(list_1) >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]
Elenca le funzioni integrate (metodi)
Di seguito è riportato un elenco di funzioni e metodi incorporati con le relative descrizioni:
- len(lista): questo fornisce la lunghezza dell'elenco come output. Per esempio:
numbers = [2, 5, 7, 9] print(len(numbers)) >>> 4
- massimo(lista): restituisce l'elemento nell'elenco con il valore massimo. Per esempio:
numbers = [2, 5, 7, 9] print(max(numbers)) >>> 9
- min(lista): restituisce l'elemento nell'elenco con il valore minimo. Per esempio:
numbers = [2, 5, 7, 9] print(min(numbers)) >>> 2
- lista(tupla): converte un oggetto tupla in una lista. Per esempio;
animals = (cat, dog, fish, cow) print(list(animals)) >>> [cat, dog, fish, cow]
- list.append(elemento): aggiunge l'elemento alla lista. Per esempio;
numbers = [2, 5, 7, 9] numbers.append(15) print(numbers) >>> [2, 5, 7, 9, 15]
- list.pop(indice): rimuove dall'elenco l'elemento all'indice specificato. Per esempio;
numbers = [2, 5, 7, 9, 15] numbers.pop(2) print(numbers) >>> [2, 5, 9, 15]
- list.remove(elemento): elimina l'elemento dalla lista. Per esempio;
values = [2, 5, 7, 9] values.remove(2) print(values) >>> [5, 7, 9]
- list.reverse(): inverte gli oggetti della lista. Per esempio;
values = [2, 5, 7, 10] values.reverse() print(values) >>> [10, 7, 5, 2]
- lista.indice(elemento): per ottenere il valore dell'indice di un elemento all'interno della lista. Per esempio;
animals = ['cat', 'dog', 'fish', 'cow', 'goat'] fish_index = animals.index('fish') print(fish_index) >>> 2
- somma(lista): per ottenere la somma di tutti i valori della lista, se i valori sono tutti numeri (interi o decimali). Per esempio;
values = [2, 5, 10] sum_of_values = sum(values) print(sum_of_values) >>> 17
Se l'elenco contiene elementi che non siano numeri, ad esempio una stringa, il metodo somma non funzionerebbe. Riceveresti un errore che dice: "Digitare Errore: tipi di operandi non supportati per +: 'int' e 'str'”
- list.sort(): per organizzare un elenco di numeri interi, numeri in virgola mobile o stringhe, in ordine crescente o decrescente. Per esempio:
values = [1, 7, 9, 3, 5] # To sort the values in ascending order: values.sort() print(values) >>> [1, 3, 5, 7, 9]
Un altro esempio:
values = [2, 10, 7, 14, 50] # To sort the values in descending order: values.sort(reverse = True) print(values) >>> [50, 14, 10, 7, 2]
È inoltre possibile ordinare un elenco di stringhe in ordine alfabetico o in base alla lunghezza delle stringhe. Per esempio;
# to sort the list by length of the elements strings = ['cat', 'mammal', 'goat', 'is'] sort_by_alphabet = strings.sort() sort_by_length = strings.sort(key = len) print(sort_by_alphabet) print(sort_by_length) >>> ['cat', 'goat', 'is', 'mammal'] ['is', 'cat', 'goat', 'mammal']
Possiamo ordinare lo stesso elenco in ordine alfabetico utilizzando 'strings.
Scorrere gli elenchi
Il ciclo degli elenchi può essere eseguito esattamente allo stesso modo di qualsiasi altra funzione di ciclo Python. In questo modo è possibile eseguire un metodo su più elementi di una lista contemporaneamente. Per esempio:
lista = [10, 20, 30, 40, 50, 60, 70].
Per scorrere tutti gli elementi di questo elenco e, diciamo, aggiungere 10 a ciascun elemento:
for elem in list: elem = elem + 5 print(elem) >>>>15 25 35 45 55 65 75
Per scorrere i primi tre elementi dell'elenco ed eliminarli tutti;
for elem in list[:3]: list.remove(elem) >>>list = [40, 50, 60, 70]
Per scorrere il 3rd (indice 2) all'ultimo elemento dell'elenco e aggiungerli a un nuovo elenco chiamato new_list:
new_list = [] for elem in list[2:]: new_list.append(elem) print(“New List: {}”.format(new_list)) Output: New List: [30, 40, 50, 60, 70]
In questo modo, qualsiasi metodo o funzione può essere applicato ai membri di un elenco per eseguire una particolare operazione. È possibile scorrere tutti i membri dell'elenco oppure scorrere un sottoinsieme dell'elenco utilizzando l'affettamento dell'elenco.
Elenco delle comprensioni Python
Le comprensioni dell'elenco lo sono Python funzioni utilizzate per creare nuove sequenze (come elenchi, dizionari, ecc.) utilizzando sequenze già create. Aiutano a ridurre i cicli più lunghi e rendono il codice più facile da leggere e gestire.
Ad esempio, supponiamo che tu voglia creare un elenco contenente i quadrati di tutti i numeri da 1 a 9:
list_of squares = [] for int in range(1, 10): square = int ** 2 list_of_squares.append(square) print(list_of_squares) List_of_squares using for loop: [1, 4, 9, 16, 25, 36, 49, 64, 81]
Per fare la stessa cosa con le comprensioni delle liste:
list_of_squares_2 = [int**2 for int in range(1, 10)] print('List of squares using list comprehension: {}'.format(list_of_squares_2)) Output using list comprehension: [1, 4, 9, 16, 25, 36, 49, 64, 81]
Come visto sopra, scrivere il codice usando le list comprehension è molto più breve che usare i tradizionali cicli for, ed è anche più veloce. Questo è solo un esempio di come usare le list comprehension al posto dei cicli for, ma può essere replicato e usato in molti posti dove possono essere usati anche i cicli for. A volte, usare un ciclo for è l'opzione migliore, specialmente se il codice è complesso, ma in molti casi le list comprehension renderanno la tua codifica più facile e veloce.
Di seguito è riportata una tabella contenente alcune funzioni e metodi di elenco e le relative descrizioni.
Funzioni integrate
FUNZIONE | DESCRIZIONE |
---|---|
Il giro () | Arrotonda il numero passato come argomento a un numero specificato di cifre e restituisce il valore in virgola mobile |
minimo() | restituisce l'elemento minimo di una determinata lista |
Max () | restituisce l'elemento massimo di una determinata lista |
len () | Restituisce la lunghezza dell'elenco |
Enumerare() | Questa funzione integrata genera sia i valori che gli indici degli elementi in un iterabile, quindi non è necessario contare manualmente |
Filtro() | verifica se ogni elemento di una lista è vero o no |
Lambda | Un'espressione che può apparire in luoghi in cui una def (per la creazione di funzioni) non è sintattica, all'interno di un elenco letterale o degli argomenti di chiamata di una funzione |
Carta geografica() | restituisce un elenco dei risultati dopo aver applicato la funzione data a ciascun elemento di un dato iterabile |
Accumulare() | applica una particolare funzione passata nel suo argomento a tutti gli elementi della lista restituisce una lista contenente i risultati intermedi |
Somma () | Restituisce la somma di tutti i numeri nell'elenco |
Cmp() | Viene utilizzato per confrontare due elenchi e restituisce 1 se il primo elenco è maggiore del secondo elenco. |
inserire | Inserisci l'elemento da elencare in una posizione particolare |
Metodi di elenco
FUNZIONE | DESCRIZIONE |
---|---|
Aggiungere() | Aggiunge un nuovo elemento alla fine dell'elenco |
Chiaro() | Rimuove tutti gli elementi dall'elenco |
Copia () | Restituisce una copia dell'elenco originale |
Estendere() | Aggiungi molti elementi alla fine dell'elenco |
Contare () | Restituisce il numero di occorrenze di un particolare elemento in un elenco |
Indice() | Restituisce l'indice di un elemento specifico di una lista |
Pop() | Elimina l'elemento dall'elenco in corrispondenza di un indice particolare (elimina per posizione) |
Rimuovere() | Elimina l'elemento specificato dall'elenco (elimina per valore) |
Reverse() | Metodo di inversione sul posto che inverte l'ordine degli elementi dell'elenco |
Sommario
- Una lista è esattamente quello che sembra, un contenitore che contiene cose diverse Python oggetti, che potrebbero essere numeri interi, parole, valori, ecc.
- Python Gli elenchi possono essere omogenei, ovvero possono contenere lo stesso tipo di oggetti, oppure eterogenei, ovvero possono contenere tipi diversi di oggetti.
- Per accedere ai valori all'interno degli elenchi è possibile utilizzare l'indice degli oggetti all'interno degli elenchi.
- Il list slicing è il metodo per dividere un sottoinsieme di un elenco e per questo vengono utilizzati anche gli indici degli oggetti dell'elenco.
- Tre metodi per eliminare gli elementi della lista sono: 1)list.remove(), 2)list.pop() e 3)operatore del
- Il metodo Append viene utilizzato per aggiungere elementi. Ciò aggiunge l'elemento alla fine dell'elenco.
- Metodo di looping di Python il programma può essere eseguito su più elementi di un elenco di dati contemporaneamente.
- Le comprensioni dell'elenco lo sono Python funzioni utilizzate per creare nuove sequenze (come elenchi, dizionari, ecc.) utilizzando sequenze già create.