python - 如何解决for循环中增量条件下的索引错误?
问题描述
我有一个dispatch
以小数表示的值的列表。现在我想从中形成两个列表dispatch
:
收费
释放
dispatch = [0.39, 0.81, 0.58, 0.19, 0.70, 0.75, 0.66, 0.10, 0.58, 0.65, 0.87, 0.86, 0.38, 0.31, 0.63,]
charge
现在有和的条件discharge
:
Charge = 如果dispatch[0]小于dispatch[1],则表示charge,其值将大于减去较小的值。
Discharge = 如果dispatch[0]大于dispatch[1],则表示discharge,其值将大于减去较小的值。我的尝试:
discharge = [(dispatch[i] - dispatch[i+1]) if dispatch[i] > dispatch[i+1] else 0 for i in range(0, len(dispatch))]
charge = [(dispatch[i+1] - dispatch[i]) if dispatch[i] < dispatch[i+1] else 0 for i in range(0, len(dispatch))]
但是在这个逻辑中,有一个INCREMENTAL条件i+1
,它会给出list out of index
我知道但我不知道解决方案的错误。有人可以帮忙吗?
解决方案
您需要更改range(0, len(dispatch))
为range(0, len(dispatch) - 1)
推荐阅读
- javascript - 没有 Base64 的音频小书签
- linux - 将旧域的每个页面重定向到新域上的相同页面 URL
- wordpress - 迭代 Wordpress 自定义字段?
- ruby-on-rails - 如何使用 ActiveRecord 按多个类别过滤产品?
- azure - azure 和 S2S VPN 中的 RRAS 服务器
- android - 无侧边框的表格
- java - 为什么我的 IE 浏览器使用 Selenium 和 Cucumber 启动了两次?
- php - 是否有任何 PHP 函数可以解决另一个数组值字符串中的数组值匹配问题?
- c# - 如何将非常大的文件存储到数据库记录中
- typescript - 如何构建打字稿文件和类型