• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

根据以前的值对Python列表进行二值化

python 来源:Alex Nikitin 3次浏览

我想根据以前的值对python列表进行二进制化,如果前一个值较低,则输出应为1,如果较高,则输出为0。例如:根据以前的值对Python列表进行二值化

[18985.0, 20491.0, 18554.0, 14241.0, 13390.0, 14965.0,] 

应该变成:

[0, 1, 0, 0, 0, 1] 

是否有任何优雅的方式来做到这一点? 在此先感谢!

===========解决方案如下:

一个列表理解应该工作。

A = [18985.0, 20491.0, 18554.0, 14241.0, 13390.0, 14965.0] 
A = [0] + [1 if A[i] > A[i-1] else 0 for i in range(1, len(A))] 

您可能想要考虑两个值相等的情况。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)