English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
in questo articolo, imparerai cosa sono gli array Python, la differenza tra array e liste Python, e come e quando usarli con esempi.
in programmazione, un array è un insieme di elementi dello stesso tipo.
gli array sono popolari in molti linguaggi di programmazione come Java, C / C++, JavaScript, ecc. Ma in Python, non sono così comuni. Quando si parla di array Python, si parla spesso di liste Python. Se non sai cosa sono le liste, dovresti assolutamente guardareLista di Pythonarticolo.
possiamo considerare una lista come un array. Ma non possiamo limitare il tipo degli elementi memorizzati nella lista. Ad esempio:
a = [1, 3.5, "Hello"]
se si crea un array utilizzando il modulo array, tutti gli elementi dell'array devono essere dello stesso tipo numerico.
import array as arr a = arr.array('d', [1, 3.5, "Hello"] // Error
potresti aver capito dagli esempi precedenti che dobbiamo importare il modulo array per creare array. Ad esempio:
import array as arr a = arr.array('d', [1.1, 3.5, 4.5]) print(a)
in questo articolo, creiamo un array di tipo float. La lettera 'd' è il codice di tipo. Questo determina il tipo dell'array durante il processo di creazione.
codici di tipo comuni:
Codice | tipi C | tipi Python | minimo byte |
---|---|---|---|
'b' | signed char | int | 1 |
'B' | unsigned char | int | 1 |
'u' | Py_UNICODE | Unicode | 2 |
'h' | signed short | int | 2 |
'H' | unsigned short | int | 2 |
'i' | signed int | int | 2 |
'I' | unsigned int | int | 2 |
'l' | signed long | int | 4 |
'L' | unsigned long | int | 4 |
'f' | float | float | 4 |
'd' | double | float | 8 |
non discuteremo i diversi tipi di C in questo articolo. In tutto l'articolo, useremo due codici di tipo: 'i' per gli interi e 'd' per i numeri a virgola mobile.
attenzione: 'u' non è più raccomandato a partire dalla versione 3.3 per il codice di tipo Unicode. Evitare di usarlo il più possibile.
usiamo gli indici per accedere agli elementi dell'array:
import array as arr a = arr.array('i', [2, 4, 6, 8]) print("primo elemento:", a[0]) print("secondo elemento:", a[1]) print("ultimo elemento:", a[-1])
Ricorda, gli indici iniziano da 0 (non da 1), come nelle liste.
Possiamo utilizzare l'operatore di slice per accedere a una serie di elementi nell'array:.
import array as arr numbers_list = [2, 5, 62, 5, 42, 52, 48, 5] numbers_array = arr.array('i', numbers_list) print(numbers_array[2:5]) # Elementi dal terzo al quinto print(numbers_array[:-5]) # Dall'inizio agli elementi 4 print(numbers_array[5:]) # Dall'elemento sesto alla fine print(numbers_array[:]) # Dall'inizio alla fine
Esegui il programma e l'output sarà:
array('i', [62, 5, 42]) array('i', [2, 5, 62]) array('i', [52, 48, 5]) array('i', [2, 5, 62, 5, 42, 52, 48, 5])
Gli array sono mutabili; i loro elementi possono essere modificati in modo simile alle liste.
import array as arr numbers = arr.array('i', [1, 2, 3, 5, 7, 10]) # Modifica del primo elemento numbers[0] = 0 print(numbers) # Output: array('i', [0, 2, 3, 5, 7, 10]) # Modifica degli elementi dal terzo al quinto numbers[2:5] = arr.array('i', [4, 6, 8]) print(numbers) # Output: array('i', [0, 2, 4, 6, 8, 10])
Possiamo utilizzare il metodo append() per aggiungere un elemento alla lista, o il metodo extend() per aggiungere più elementi alla lista .
import array as arr numbers = arr.array('i', [1, 2, 3]) numbers.append(4) print(numbers) # Output: array('i', [1, 2, 3, 4]) # extend() aggiunge un iterable alla fine dell'array numbers.extend([5, 6, 7]) print(numbers) # Output: array('i', [1, 2, 3, 4, 5, 6, 7])
Possiamo usare l'operatore + per connettere due array.
import array as arr odd = arr.array('i', [1, 3, 5]) even = arr.array('i', [2, 4, 6]) numbers = arr.array('i') # Crea un array di interi vuoto numbers = odd + even print(numbers)
Possiamo usareEspressione del comando del in PythonEliminare uno o più elementi dall'array.
import array as arr number = arr.array('i', [1, 2, 3, 3, 4]) del number[2] # Elimina il terzo elemento print(number) # Output: array('i', [1, 2, 3, 4]) del number # Elimina l'intero array print(number) # Errore: non definito array
Possiamo usare il metodo remove() per rimuovere l'elemento specificato, o anche il metodo pop() per rimuovere l'elemento all'indice specificato.
import array as arr numbers = arr.array('i', [10, 11, 12, 12, 13]) numbers.remove(12) print(numbers) # Output: array('i', [10, 11, 12, 13]) print(numbers.pop(2)) # Output: 12 print(numbers) # Output: array('i', [10, 11, 13])
Le liste sono molto più flessibili delle array. Possono memorizzare elementi di diversi tipi di dati, inclusi le stringhe. E, le liste sono più rapide delle array. E, se devi fare calcoli matematici su array e matrici, è meglio usareNumPyMetodi di libreria e simili.
A meno che non ne hai davvero bisogno per array (potrebbe essere necessario il modulo array per l'interfaccia del codice C), non usarli.