如何将一定数量范围内的数字相加?

Gio*_*nni -1 python arrays numpy range

我有一组像这样的值

 nums = [2.5, 1, 9, 9.9, 1.6, 5.4, 3.2, 4.4, 4, 5.2, 5, 6]
Run Code Online (Sandbox Code Playgroud)

是否有一种pythonic方法可以将此数组中的所有值相加到某个值之间?例如,如果我的范围是2.5-6,我希望得到2.5 + 5.4 + 3.2 + 4.4 + 4 + 5.2 + 5 + 6 = 35.7.我也愿意使用numpy来解决这个问题.

Pra*_*een 6

既然没有人提供过numpy解决方案,那么你去吧:

>>> nums = np.array([2.5, 1, 9, 9.9, 1.6, 5.4, 3.2, 4.4, 4, 5.2, 5, 6])
>>> nums[(2.5 <= nums) & (nums <= 6)].sum()
35.700000000000003
Run Code Online (Sandbox Code Playgroud)

虽然,我尝试了一些简单的测试,但我不确定速度有多大优势.