python - 根据规则拆分列表
问题描述
我有一个清单
values_list = [1013.0, 683.0, 336.0, 406.0, 636.0, 1065.0, 1160.0]
我也有一个价值
value = 660.6153846153846
此列表基于有 3 个阶段的假设。第一阶段应该高于价值,第二阶段较低,第三阶段再次较高。
我想将此列表拆分为三个列表,并保存如下值的顺序:
values_list = [[1013.0, 683.0], [336.0, 406.0, 636.0], [1065.0, 1160.0]]
解决方案
试试这个:
splits = []
splt = []
s = 0
for v in values_list:
if len(splt) > 0:
if v > value and s != 1:
splits.append(splt)
splt = []
elif v <= value and s != -1:
splits.append(splt)
splt = []
splt.append(v)
s = 2*(v > value) - 1
if len(splt) > 0:
splits.append(splt)
推荐阅读
- shell - 在它们之间使用 grep 制作多命令食谱?
- python - return 语句如何在函数中工作?我可以使用多个返回语句吗?
- postgresql - 从 2 个查询中减去结果
- wordpress - 在 Woocommerce 订单跟踪表上使用电话号码更改电子邮件或仅使用订单号进行跟踪
- reactjs - 更改后第一次加载时 React 道具显示为空
- c# - 事件回调
抛出 RuntimeBinderException - python - 从具有不同非整数索引的大小不等的列表对象创建数据框
- applescript - AppleScript — 监听鼠标点击?
- react-native - 如何在 Android Studio 中手动链接 react-native-camera?
- javascript - 在使用 Redux-Thunk 异步操作的 Promise 链中使用 setInterval