Tutorial de Python - Data Type-Array

  1. Declaración de un array en Python
  2. Índice de la matriz de Python
  3. Índice negativo de la matriz
  4. Recorrido por un array de Python
  5. Actualización de la matriz de Python
  6. Diferentes formas de modificar un array de Python
  7. Borrar elementos de una matriz 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 una matriz 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 de la matriz, typecode determina el tipo de datos de la matriz y los initializer son los valores en la matriz.

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 de la matriz es a, typecode es i que especifica que los valores de la matriz 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 una matriz 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 de la matriz de Python

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

Recuperar un elemento de la matriz 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 de la matriz

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 de la matriz:

El método len() de la matriz

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 de la matriz 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 la matriz.

>>> 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 de la matriz 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 una matriz 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

remover(x)

remover()elimina la primera ocurrencia dex` 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 de la matriz
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 de la matriz.
index() devuelve el índice del primer elemento coincidente en la matriz.
count() devuelve el número total de posiciones pasadas
sort() clasificar los elementos de la matriz en orden ascendente.
reverse() invertir el orden de los elementos de la matriz.
copy() devolver una copia de una matriz ya existente.
comments powered by Disqus