Cómo dividir la lista según el valor de los elementos

Sabzaliev Shohansho

Tengo una lista de valores

lst = [75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 185, 186, 187, 188, 189, 190, 191, 192, 193, 195, 196, 197, 198, 199, 221, 222, 223, 224, 225, 226, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 309, 310, 311, 312, 313, 314, 315, 316, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 401, 402, 403, 404, 405, 406, 407, 408, 439, 440]

Si observa de cerca la lista, puede ver que los valores se incrementan y luego hay un gran salto y luego nuevamente los valores comienzan a incrementarse.

¿Cómo puedo dividirme para que al final pueda tener

[[75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], [118, 119, 120, 121, 122, 123, 124, 125, 126, 127], [155, 156, 157, 158, 159, 160, 161, 162, 163, 164]...[439, 440]]
mozway

Aquí hay una solución con itertools. Usé como condición para mantener números consecutivos (gracias @KarlKnechtel).

from itertools import groupby
diff = [item - i for i, item in enumerate(lst)]
[[x[1] for x in g] for i,g in groupby((zip(diff,lst)), lambda x: x[0])]

producción:

[[75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88],
 [118, 119, 120, 121, 122, 123, 124, 125, 126, 127],
 [155, 156, 157, 158, 159, 160, 161, 162, 163, 164],
 [185, 186, 187, 188, 189, 190, 191, 192, 193],
 [195, 196, 197, 198, 199],
 [221, 222, 223, 224, 225, 226],
 [273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283],
 [309, 310, 311, 312, 313, 314, 315, 316],
 [371, 372, 373, 374, 375, 376, 377, 378, 379, 380],
 [401, 402, 403, 404, 405, 406, 407, 408],
 [439, 440]]

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Dividir la lista en varias listas según el valor de los elementos

Cómo dividir los elementos de la lista de matrices y almacenarlos en el conjunto para evitar la duplicación

¿Reorganizar los elementos de la lista según el alfabeto?

¿Cómo puedo combinar elementos de la lista dentro de la lista según el valor del elemento?

¿Cómo dividir una lista de tuplas según el valor mínimo de cada tupla?

¿Cómo dividir una lista de tuplas según el valor mínimo de cada tupla?

Fusionar elementos de la lista en un solo elemento según el valor coincidente en C #

Dividir la columna de pandas en varias columnas según los elementos 'clave = valor'

¿Cómo convierto una lista plana en una lista de listas según el valor de los elementos en python3?

¿Cómo filtrar los elementos de la lista según la expresión regular en Python?

¿Cómo filtrar los elementos de la lista según la expresión regular en Python?

Laravel cómo dividir la matriz en dos según el valor de la clave

Python: dividir la cadena en una lista según el valor de la tupla dict

Dividir la lista de matrices según el valor calculado de cada cadena

¿Cómo puedo dividir una lista de cadenas según la cantidad y el nombre?

Cómo dividir un archivo CSV en varios archivos según el valor de la columna

Cómo dividir la matriz según el valor de entrada usando Python

¿Cómo hacer un cuadro de búsqueda que busque el valor de los atributos y luego oculte o muestre elementos según la entrada de los usuarios?

¿Cómo hacer un cuadro de búsqueda que busque el valor de los atributos y luego oculte o muestre elementos según la entrada de los usuarios?

¿Cómo encontrar el recuento de elementos de la matriz según el valor proporcionado?

Dart // Flutter: Cómo eliminar elementos de la lista según el contenido de la entrada

Imprima el número entero mínimo de los elementos de la lista según los índices de otra lista

Cómo eliminar el diccionario de la lista de diccionarios si el valor se repite en los elementos

Todos los elementos de la lista obtienen el mismo valor

Cómo dividir la ruta y los nombres de archivo de varios elementos de una lista

Cómo copiar algunos elementos de una lista de lista para que no afecte el valor de los elementos en la lista copiada

Ordenar según el valor de la tabla relacionada (incluidos los elementos sin relación existente)

¿Cómo enfocar los elementos de la lista en la vista de lista según ciertas condiciones?

Cómo dividir los elementos de la lista de nueva línea en coma en Python

TOP Lista

CalienteEtiquetas

Archivo