我有这个问题,我必须在保持列表结构的同时拆分负数和正数列表.
零被认为是积极的
例:
输入数据
[1, 1, 1, -2, -2, -2, 1, 1, 1, -2, -2, -2, 1, 1, 1]
Run Code Online (Sandbox Code Playgroud)
输出数据
[[1, 1, 1], [-2, -2, -2], [1, 1, 1], [-2, -2, -2], [1, 1, 1]]
Run Code Online (Sandbox Code Playgroud)
有谁能请我向我提出一个很好的方向来解决这个问题?
我已经研究np.split过条件或切片但有条件,但也没有运气.
如果没有进一步的研究,我会选择标准库中的itertools.groupby.也许有更好的解决方案.
import itertools
vals = [1, 1, 1, -2, -2, -2, 1, 1, 1, -2, -2, -2, 1, 1, 1]
splitted = [list(g) for i, g in itertools.groupby(vals,lambda x: x<0)]
Run Code Online (Sandbox Code Playgroud)
如评论中所述,您必须选择如何处理0并相应地调整lambda.
| 归档时间: |
|
| 查看次数: |
175 次 |
| 最近记录: |