Если выражение в понимании списка с лямбдой

у меня есть

listName = [[0,1,2,15,16,17,2,3,4,6,8,9]] 

Моя строка кода

 [list(g) for k, g in groupby(listName, key=lambda i,j=count(): i-next(j))] 

listName на [[0,1,2],[15,16,17],[2,3,4],[6,8,9]] Я хочу, чтобы раскол произошел, только если следующее число меньше чем предыдущее число. т.е. я хочу, чтобы мое имя listName на

 [[0,1,2,15,16,17],[2,3,4,6,8,9]] 

Благодаря! 🙂

One Solution collect form web for “Если выражение в понимании списка с лямбдой”

Гораздо проще использовать функцию генератора, используя itertools.chain для создания итератора и сглаживания вашего списка:

 listName = [[0, 1, 2, 15, 16, 17, 2, 3, 4, 6, 8, 9]] from itertools import chain def split(l): it = chain(*l) prev = next(it) tmp = [prev] for ele in it: if ele < prev: yield tmp tmp = [ele] else: tmp.append(ele) prev = ele yield tmp print(list(split(listName))) 
 
Interesting Posts for Van-Lav

Как автоматически добавить расширение на Jupyter (ipython)?

Невозможно загрузить файлы с использованием рассольных и многокомпонентных модулей

Правильный способ приведения numpy.matrix в C двойной указатель

Оптимизация арифметических выражений – что называется этой техникой?

Сценарии GDB-Python: любые образцы, итерации через поля структуры C / C ++

Как получить параметры подписи вызываемого или надежно определить, когда это невозможно?

Веб-данные (wiki) scraping python

NameError: глобальное имя «END» не определено

Настройка Django с базой данных MS SQL Server

Коалесцирует значения из 2 столбцов в один столбец в кадре данных pandas

Django: Нечувствительный к регистру сопоставление имени пользователя с пользователем auth?

shopify скрипт не вставляет скриптовый тег для хранения

Цифровой дисплей часов – требуется многопоточность?

Раунд за один день до ближайшего шага

Как python имеет дело с модулем и пакетом с тем же именем?

Python - лучший язык программирования в мире.