Obtener un subarray de un array en Python
Una parte contigua de un array es un subarray, y una parte contigua de una cadena es una subcadena. El orden de los elementos sigue siendo el mismo con respecto a la lista o cadena original para ambas.
Python hace que obtener un subarray o una subcadena sea muy sencillo en comparación con la mayoría de los otros lenguajes de programación.
En este artículo, aprenderemos cómo obtener un subarray de un array usando Python.
Cómo obtener una subcadena de un array usando Slicing en Python
En Python, podemos obtener un subarray de un array utilizando slicing. La indexación extensiva, que es una notación fácil y conveniente, puede ser usada para rebanar un arreglo o una cadena. Tiene la siguiente sintaxis.
object[start:end:step]
A continuación se explica cada componente.
object
- Una lista o una cadena.start
- El índice inicial para el corte. El valor por defecto es0
.end
- El índice final para el corte. Tenga en cuenta que el valor de este índice no forma parte del resultado final. El valor por defecto es la longitud del objeto iterable.step
- El número de incrementos entre cada índice en el resultado final. Por defecto, es1
.
Vamos a entender cómo utilizar esta función de Python para obtener un subarray de un array con la ayuda de algunos ejemplos. Para ello, consulte el siguiente código.
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a = array[1:4]
b = array[0:8]
c = array[6:]
d = array[:5]
print(a)
print(b)
print(c)
print(d)
Producción :
[2, 3, 4]
[1, 2, 3, 4, 5, 6, 7, 8]
[7, 8, 9, 10]
[1, 2, 3, 4, 5]
Como podemos ver, la salida contiene todos los índices entre el índice start
y el índice end
(start
inclusivo y end
exclusivo). Además, cuando no se establece ningún valor para el start
, se considera por defecto el primer índice, y cuando no se establece ningún valor para el end
, se considera por defecto el último valor.
Podemos extender esto aún más y aplicar el corte a cada valor individual de una lista. Crearemos una lista de cadenas y una lista de listas y encontraremos una subcadena y un subarreglo para cada cadena y lista usando comprensión de lista y división. La comprensión de listas es una sintaxis en línea para iterar sobre una lista o listas y crear una nueva lista.
Consulte el siguiente código para ver el ejemplo mencionado anteriormente.
a = ["Hello", "World", "Computer", "Science", "GitHub", "StakeOverflow"]
b = [
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
[1.1, 2.2, 3.3, 4.4, 5.5],
[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9],
["Q", "W", "E", "R", "T", "Y"],
[True, False, None, None, False, True],
]
x = [element[1:5] for element in a]
y = [element[1:3] for element in b]
print(x)
print(y)
Producción :
['ello', 'orld', 'ompu', 'cien', 'itHu', 'take']
[[2, 3], [2.2, 3.3], [0.2, 0.3], ['W', 'E'], [False, None]]
Para cada cadena en la lista de cadenas, el código de Python anterior concatena los caracteres presentes en los índices 1
, 2
, 3
y 4
en una nueva cadena y crea una nueva lista de cadenas. Y para la lista de listas, junta todos los valores en los índices 1
y 2
y crea una nueva lista de listas. Además, almacenamos ambas listas nuevas en dos variables nuevas y las imprimimos.
Artículo relacionado - Python Array
- Cómo iniciar un array 2-D en Python
- Cómo contar las ocurrencias de un elemento en un array unidimensional en Python
- Matriz de reducción de resolución de Python
- Arreglar el error TypeError: iteration over a 0-d array en Python NumPy
- Desplazar o rotar un array en Python
- Escribir un array en un archivo de texto en Python