Tutorial de Python - Data Type-Array

  1. Declaración de un array en Python
  2. Índice del array de Python
  3. Índice negativo del array
  4. Recorrido por un array de Python
  5. Actualización del array de Python
  6. Diferentes formas de modificar un array de Python
  7. Borrar elementos de un array Python
  8. Métodos del array

En esta sección, aprenderá cómo crear y acceder a elementos de los arrays en Python.

Un array es una colección de elementos del mismo tipo de datos. La principal diferencia entre un array y una lista es que una lista puede tener elementos de diferentes tipos de datos.

En la programación en Python, para crear un array, es necesario importar el módulo array porque un array no es un tipo de datos fundamental.

from array import *

Declaración de un array en Python

Para declarar un array hay que seguir la siguiente sintaxis:

arrayName = array(typecode, [initializers])

Aquí, arrayName es el nombre del array, typecode determina el tipo de datos del array y los initializer son los valores en el array.

Aprenderás más sobre el parámetro typecode más adelante en esta sección.

Considere el siguiente ejemplo:

a = array('i', [1,2,3,4])

El nombre del array es a, typecode es i que especifica que los valores del array serán de tipo de datos enteros. Si intenta almacenar valores distintos a los enteros en esta matriz, se producirá un error:

>>> a=array('i', [1,2,3.4,4])
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    a=array('i', [1,2,3.4,4])
TypeError: integer argument expected, got float

Comprobemos el ejemplo de un array que contiene algunos números enteros:

>>> from array import *
>>> a = array('i', [1,2,3,4])
>>> for i in a:
	print(i)
1
2
3
4

Parámetro typecode

Parámetro Significado
b un entero firmado de 1 byte
B un entero sin signo de 1 byte
u un carácter Unicode de 2 bytes
h un entero firmado de 2 bytes
H un entero sin signo de 2 bytes
i un entero firmado de 2 bytes
I un entero sin signo de 2 bytes
l un entero firmado de 4 bytes
L un entero sin signo de 4 bytes
f un número de punto flotante de 4 bytes
d un número de punto flotante de 8 bytes

Índice del array de Python

Puede obtener un elemento de un arreglo usando el operador de índice [].

Recuperar un elemento del array usando el operador de índice

>>> a = array('i', [1,2,3,4])
>>> print("First element of array =", a[0])
First element of array = 1
>>> print("Second element of array =", a[1])
Second element of array = 2

Obtenga el índice del valor dado usando el método index(x)

El método index(x) devuelve el índice más pequeño de la primera ocurrencia de x.

>>> a = array('i', [1,2,3,4])
>>> print("1 is found at location:", a.index(1))
1 is found at location: 0
>>> print("4 is found at location:", a.index(4))
4 is found at location: 3

Índice negativo del array

Similar a otros tipos de datos secuenciales de Python como strings, lists, tuples, objetos range, también puedes usar índices negativos para acceder a los elementos del array.

>>> a = array('i', [1,2,3,4])
>>> print("last element of array:",a[-1])
last element of array: 4

Recorrido por un array de Python

Lo primero es lo primero, encontrar la longitud del array:

El método len() del array

El método len() devuelve el número de elementos de un array.

>>> a = array('i', [1,2,3,4])
>>> print("length of a:", len(a))
length of a: 4

Iterar sobre un array

Puedes usar el bucle for para iterar a través de los elementos de un array.

>>> a = array('i', [1,2,3,4])
>>> for i in range(len(a)):
	print(a[i])
1
2
3
4

o

>>> a = array('i', [1,2,3,4])
>>> for i in a:
	print(i)
1
2
3
4

Actualización del array de Python

append()

Puede usar el método de arreglos append() para añadir un elemento al final de un arreglo.

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.append(10)
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10])

insert(i, x)

Puedes usar el método insert(i, x) para insertar el elemento x al índice dado i.

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.insert(3,44)
>>> print(a)
array('i', [1, 2, 3, 44, 4, 5, 7, 8, 9])

extend(x)

apppend(x) añade el ítem x como un solo ítem al array. El método extend(x) es el método correcto para extender el array añadiendo todos los elementos en el objeto dado x.

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.extend([10,11,12,13,14,15])
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15])
Advertencia

Si x es otro array, deberá tener exactamente el mismo código de tipo de datos, de lo contrario, se levantará TypeError. Si x no es un array de Python, debe ser iterable y sus elementos deben tener el mismo tipo de datos con el array a extender.

fromlist()

fromlist() añade elementos de una lista al array.

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> l = [10,11]
>>> a.fromlist(l)
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10, 11])

Diferentes formas de modificar un array de Python

reverse()

reverse() invierte el array.

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.reverse()
>>> print(a)
array('i', [9, 8, 7, 5, 4, 3, 2, 1])

+ Operador

Se pueden concatenar dos arrays usando el operador +:

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> b = array('i', [10,11])
>>> print(a + b)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10, 11])

Operador *

El operador * repite los elementos del array un número específico de veces.

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a = a * 2
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 1, 2, 3, 4, 5, 7, 8, 9])

Aquí los elementos se repiten dos veces.

Borrar elementos de un array Python

La sentencia del elimina uno o más elementos de un array. También puede usar del para borrar todo el array:

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> del a[3]
>>> print(a)
array('i', [1, 2, 3, 5, 7, 8, 9])
>>> del a			#entire array is deleted

remove(x)

remove() elimina la primera ocurrencia de x de un array:

>>> a = array('i', [1,2,3,4,5,7,8,9,3])
>>> a.remove(3)
>>> print(a)
array('i', [1, 2, 4, 5, 7, 8, 9, 3])

pop()

pop() quitará y devolverá el último elemento del array.

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.pop()
9
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8])

Métodos del array

En la siguiente tabla se describen los métodos del array,:

Métodos Descripción
append() añadir un elemento al final del array
extend() añadir más de un elemento a un array. Funciona añadiendo elementos de un array a otro array (en el que desea añadir elementos).
insert() añadir un elemento en el lugar deseado.
remove() eliminar un elemento concreto del array.
pop() eliminar un artículo de una ubicación determinada y devolverlo.
clear() eliminar todos los elementos del array.
index() devuelve el índice del primer elemento coincidente en el array.
count() devuelve el número total de posiciones pasadas
sort() clasificar los elementos del array en orden ascendente.
reverse() invertir el orden de los elementos del array.
copy() devolver una copia de un array ya existente.