我有一个清单:
matrix = [1, 2, 3, 0, 4, 5, 0, 6]
需要在0处忽略随机数量的列表(忽略0):
matrix1 = [3, 2, 1]
matrix2 = [4, 5]
matrix3 = [6]
我该怎么做呢?原始列表将是随机长度和随机数。
答案 0 :(得分:5)
一种选择是使用groupby
:
from itertools import groupby
lst = [1, 2, 3, 0, 4, 5, 0, 6]
[list(g) for k, g in groupby(lst, lambda x: x != 0) if k]
# [[1, 2, 3], [4, 5], [6]]