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

Herramientas en línea

Tutorial básico de Python

Funciones en Python

Tipos de datos en Python

Control de flujo de Python

Objetos y clases de Python

Fecha y hora de Python

Conocimientos avanzados de Python

Manual de referencia de Python

Arreglos en Python

En este artículo, aprenderá sobre los arrays en Python, la diferencia entre arrays y listas, y cómo y cuándo usarlos con ejemplos.

En la programación, un array es una colección de elementos del mismo tipo.

Arrays en Java, C / C ++En la mayoría de los lenguajes de programación como JavaScript, es muy popular. Pero en Python, no son comunes. A la hora de hablar de arrays en Python, se habla de listas en Python. Si no sabe lo que es una lista, debería verPython listsArtículo.

Python lista y módulo de array como array

Podemos ver una lista como un array. Pero no podemos limitar el tipo de elementos que se almacenan en una lista. Por ejemplo:

a = [1, 3.5, "Hello"]

Si se crea un array utilizando el módulo array, todos los elementos del array deben ser del mismo tipo numérico.

import array as arr
a = arr.array('d', [1, 3.5, "Hello"])   // Error

¿Cómo crear un array?

Puede haber deducido de los ejemplos anteriores que necesitamos importar el módulo array para crear un array. Por ejemplo:

import array as arr
a = arr.array('d', [1.1, 3.5, 4.5])
print(a)

Aquí, creamos un array de tipo float. La letra 'd' es el código de tipo. Esto determina el tipo del array durante el proceso de creación.

Códigos de tipo comunes:

CódigoTipos de CTipos de Pythonmás pequeño
'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

No discutiremos diferentes tipos de C en este artículo. En todo el artículo, usaremos dos tipos de código: 'i' para enteros y 'd' para números flotantes.

Nota: 'u' desde la versión3.3Desde, no se recomienda usar el código de tipo Unicode. Trate de evitarlo.

¿Cómo acceder a los elementos del array?

Usamos índices para acceder a los elementos del array:

import array as arr
a = arr.array('i', [2, 4, 6, 8])
print("Primer elemento:", a[0])
print("Segundo elemento:", a[1])
print("Último elemento:", a[-1])

Recuerde, los índices comienzan en 0 (en lugar de1)empezando, similar a una lista.

¿Cómo rebanar un array?

Podemos usar el operador de rebanado para acceder a una serie de elementos en un 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]) # El3-第5elementos
print(numbers_array[:-5]) # Desde el principio hasta el4elementos
print(numbers_array[5:]) # Desde el6elementos hasta el final
print(numbers_array[:]) # Desde el principio hasta el final

Al ejecutar el programa, la salida es:

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

¿Cómo cambiar o agregar elementos?

Los arrays son mutables; sus elementos pueden modificarse de manera similar a una lista.

import array as arr
numbers = arr.array('i', [1, 2, 3, 5, 7, 10])
# Cambiar el primer elemento
numbers[0] = 0    
print(numbers) # Salida: array('i', [0, 2, 3, 5, 7, 10])
# Cambiar el3hasta el5elementos
numbers[2:5] = arr.array('i', [4, 6, 8])   
print(numbers) # Salida: array('i', [0, 2, 4, 6, 8, 10])

Podemos usar el método append() para agregar un elemento a una lista, o usar el método extend() para agregar varios elementos a una 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() appends an iterable to the end of the array
numbers.extend([5, 6, 7]) 
print(numbers) # Output: array('i', [1, 2, 3, 4, 5, 6, 7])

We can use+The operator connects two arrays.

import array as arr
odd = arr.array('i', [1, 3, 5])
even = arr.array('i', [2, 4, 6])
numbers = arr.array('i') # Create an empty integer array
numbers = odd + even
print(numbers)

How to remove/How to remove elements?

We can usePython's del statementRemove one or more items from an array.

import array as arr
number = arr.array('i', [1, 2, 3, 3, 4])
del number[2] # Delete the third element
print(number) # Output: array('i', [1, 2, 3, 4])
del number # Delete the entire array
print(number) # Error: array is not defined

We can use the remove() method to delete a given item, or use the method pop() to delete an item at a specified index.

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

When to use arrays?

lists are much more flexible than arrays. They can store elements of different data types, including strings. And, lists are faster than arrays. And, if you need to perform mathematical calculations on arrays and matrices, it is best to useNumPymethods of libraries and the like.

Do not use them unless you really need arrays (you may need the array module if you have an interface with C code).