【发布时间】:2017-12-17 11:25:14
【问题描述】:
我想拆分一个看起来像这样的列表:
list = [5, a, b, c, d, e, 2, a, b, 4, a ,b ,c ,d , ...]
进入这个:
list = [ [5, a, b, c, d, e], [2, a, b] , [4, a ,b ,c ,d] ...]
第一个元素/数字是可变的,因此没有将其分成偶数块的模式。 块的大小或长度应基于块的第一个元素。 此外,字母只是占位符,使示例更具可读性,实际上字母是浮点数和数字。
所以大名单看起来像这样:
list = [5, 7, 3.2, 3.1, 4.6, 3, 2, 5.1, 7.1, 4, 5.12 ,3.4 ,4.8 ,12.1 , ...]
【问题讨论】:
-
由于您还没有尝试过,这里有一个熊猫解决方案。
x = pd.Series(lst); result = x.groupby(x.astype(str).str.isdigit().cumsum()).apply(list).tolist()祝你好运! -
我不同意重复的目标。那里的答案在这里并不直接适用。