Obtener un subarray de un array en Python

Vaibhav Vaibhav 21 diciembre 2022
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 es 0.
  • 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, es 1.

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.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Artículo relacionado - Python Array