English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Corso di base di Python

Controllo dei flussi in Python

Funzione in Python

Tipi di dati in Python

Operazioni sui file in Python

Oggetti e classi in Python

Data e ora in Python

Conoscenze avanzate di Python

Manuale di riferimento Python

Array in Python

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.

lista Python e modulo array come array

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

come creare array?

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:

Codicetipi Ctipi Pythonminimo byte
'b'signed charint1
'B'unsigned charint1
'u'Py_UNICODEUnicode2
'h'signed shortint2
'H'unsigned shortint2
'i'signed intint2
'I'unsigned intint2
'l'signed longint4
'L'unsigned longint4
'f'floatfloat4
'd'doublefloat8

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.

come accedere agli elementi dell'array?

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.

Come fare una slice dell'array?

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])

Come modificare o aggiungere elementi?

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)

Come rimuovere/eliminare un elemento?

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])

Quando usare array?

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.