按值而不是索引裁剪 Python 列表
Cropping Python lists by value instead of by index
晚上好,Whosebug。
最近,我一直在努力研究一个 Python 程序,我将尽可能简要地概述它。
本质上,我的程序绘制(然后拟合一个函数)图形。考虑 this graph.
该图绘制得很好,但我希望它能做的不止于此:因为数据在 OrbitalPeriod (1.76358757) 区间内是周期性的,我希望它开始用我们的 第一个 x 值 然后迭代地绘制远离它的所有点 OrbitalPeriod,然后在下一个区域做同样的事情长度轨道周期.
我知道有一种方法可以将 Python 中的列表切片
croppedList = List[a:b]
其中 a 和 b 分别是您要包含在新列表中的第一个和最后一个元素的索引.但是,我不知道每个值的索引是什么,或者每个 OrbitalPeriod 大小的间隔之间有多少值。
我想用伪代码做的事情看起来像这样。
croppedList = fullList on the domain [a + (N * OrbitalPeriod), a + (N+1 * OrbitalPeriod)]
其中 a 是第一个有意义的数据点的 x 值。
如果您对此有解决方法或接受值而不是索引作为参数的裁剪方法,请告诉我。谢谢!
如果你正在使用numpy
,你可以在括号内使用它
m = x
M = x + OrbitalPeriod
croppedList = List[m <= List]
croppedList = croppedList[croppedList < M]
晚上好,Whosebug。 最近,我一直在努力研究一个 Python 程序,我将尽可能简要地概述它。
本质上,我的程序绘制(然后拟合一个函数)图形。考虑 this graph. 该图绘制得很好,但我希望它能做的不止于此:因为数据在 OrbitalPeriod (1.76358757) 区间内是周期性的,我希望它开始用我们的 第一个 x 值 然后迭代地绘制远离它的所有点 OrbitalPeriod,然后在下一个区域做同样的事情长度轨道周期.
我知道有一种方法可以将 Python 中的列表切片
croppedList = List[a:b]
其中 a 和 b 分别是您要包含在新列表中的第一个和最后一个元素的索引.但是,我不知道每个值的索引是什么,或者每个 OrbitalPeriod 大小的间隔之间有多少值。
我想用伪代码做的事情看起来像这样。
croppedList = fullList on the domain [a + (N * OrbitalPeriod), a + (N+1 * OrbitalPeriod)]
其中 a 是第一个有意义的数据点的 x 值。
如果您对此有解决方法或接受值而不是索引作为参数的裁剪方法,请告诉我。谢谢!
如果你正在使用numpy
,你可以在括号内使用它
m = x
M = x + OrbitalPeriod
croppedList = List[m <= List]
croppedList = croppedList[croppedList < M]