Dividir la lista de Python por la mitad
- Use la división de listas para dividir una lista por la mitad en Python
-
Utilice la función
islice()
para dividir una lista en Half Python -
Utilice la función
accumulate()
para dividir una lista por la mitad en Python
Las listas almacenan elementos en un índice particular y son mutables, lo que significa que luego podemos actualizar los valores en una lista.
Aprenderemos cómo dividir una lista por la mitad en este tutorial.
Use la división de listas para dividir una lista por la mitad en Python
La división de listas toma una parte específica de la lista para alguna operación, mientras que la lista original no se ve afectada. Eso significa que crea un duplicado de la lista para realizar la tarea asignada. El operador de corte ([:]
) en Python se usa para esto.
Dividimos una lista por la mitad en el siguiente código.
lst = ["a", "b", "c", "d", "e", "f"]
print(lst[:3])
print(lst[3:])
Producción :
['a', 'b', 'c']
['d', 'e', 'f']
También podemos crear una función para dividir la lista por la mitad. Usaremos la función len()
para encontrar la longitud de la lista. Usaremos la mitad de este valor y usaremos el método de división de listas para dividirlo por la mitad.
Por ejemplo,
def split_list(a_list):
half = len(a_list) // 2
return a_list[:half], a_list[half:]
A = ["a", "b", "c", "d", "e", "f"]
B, C = split_list(A)
print(B)
print(C)
Producción :
['a', 'b', 'c']
['d', 'e', 'f']
Creamos una función split_list
que devuelve dos mitades de una lista existente.
Tenga en cuenta que no cambia la lista original, ya que crea una lista duplicada para realizar la tarea asignada.
Utilice la función islice()
para dividir una lista en Half Python
En Python, itertools
es el módulo incorporado que nos permite manejar los iteradores de manera eficiente.
Hace que la iteración a través de iterables como listas y cadenas sea muy fácil. La función islice
es parte del módulo itertools
. Imprime selectivamente los valores mencionados en su contenedor iterable pasado como argumento.
Por ejemplo,
from itertools import islice
Input = ["a", "b", "c", "d", "e", "f"]
length_to_split = [len(Input) // 2] * 2
lst = iter(Input)
Output = [list(islice(lst, elem)) for elem in length_to_split]
print("Initial list:", Input)
print("After splitting", Output)
Producción :
Initial list: ['a', 'b', 'c', 'd', 'e', 'f']
After splitting [['a', 'b', 'c'], ['d', 'e', 'f']]
Utilice la función accumulate()
para dividir una lista por la mitad en Python
La función zip()
se utiliza para combinar elementos de un iterable. Podemos usarlo con la función accumulate()
del módulo itertools
para dividir una lista por la mitad.
Por ejemplo,
from itertools import accumulate
Input = ["a", "b", "c", "d", "e", "f"]
length_to_split = [len(Input) // 2] * 2
Output = [
Input[x - y : x] for x, y in zip(accumulate(length_to_split), length_to_split)
]
print("Initial list :", Input)
print("After splitting", Output)
Producción :
Initial list : ['a', 'b', 'c', 'd', 'e', 'f']
After splitting [['a', 'b', 'c'], ['d', 'e', 'f']]