English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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
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ódigo | Tipos de C | Tipos de Python | más pequeño |
---|---|---|---|
'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 |
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.
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.
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])
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)
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])
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).