Разбить список на парные элементы не через zip

list1 = [[0, 0, 1, 2, 3],[3,666]]
result = []
    for cort in list1:
        if len(cort)!=2:
            result.append(list(zip(cort, cort[1:])))
        else:
            result.append(cort)
print(result)

Вывод

[[(0, 0), (0, 1), (1, 2), (2, 3)],[3,666]]

Можно как- то переделать без zip(), он мне возвращает список кортежей, а мне нужен список списков.

Вывод

[[[0, 0], [0, 1], [1, 2], [2, 3]],[3,666]]

Ответы (1 шт):

Автор решения: gil9red

Если использовать map с функцией list, то будет ожидаемый результат:

result.append(list(map(list, zip(cort, cort[1:]))))

Но, думаю, красивее будет без функционального стиля:

result.append([[x, y] for x, y in zip(cort, cort[1:])])
→ Ссылка