Python 在计算列表中大于或小于某些值的值的数量时,会跳过某些数字

Python 在计算列表中大于或小于某些值的值的数量时,会跳过某些数字,python,python-3.x,for-loop,list-comprehension,Python,Python 3.x,For Loop,List Comprehension,我在计算列表中大于start(最初为0)小于end(最初为10)的某些值时遇到问题 该列表包含0-110范围内的12500个浮点数。我想数一数列表中有多少数字在0-10,然后是10-20,20-30,(…),100-110之间 我实现了一个for循环,其中包含一个列表,如下所示: all_nums = [] # contains 12_500 float numbers nums_counted = [] start = 0 end = 10 for x in range(11): c

我在计算列表中大于
start
(最初为0)小于
end
(最初为10)的某些值时遇到问题

该列表包含0-110范围内的12500个浮点数。我想数一数列表中有多少数字在0-10,然后是10-20,20-30,(…),100-110之间

我实现了一个for循环,其中包含一个列表,如下所示:

all_nums = [] # contains 12_500 float numbers

nums_counted = []
start = 0
end = 10
for x in range(11):
    count = len([x for x in to_int if start < x < end])
    nums_counted.append(count)
    start = start + 10
    end = end + 10
all_nums=[]包含12个浮点数
nums_counted=[]
开始=0
结束=10
对于范围(11)内的x:
计数=len([x表示开始
问题是
len(all_nums)=12500
sum(nums_counted)=12492
,这也应该等于12500


我不知道我做错了什么,那8个数字在哪里消失了

你只需要把整数除以10就可以了


> from collections import Counter
> 
> l = [0.0, 0.1, 6.1, 11.4, 19.2, 20.9, 40.1]
> 
> d = Counter()
> 
> for val in l:
>     binn = val//10
>     d[binn] += 1
> 
> print(l) 
> print(d.items())
[0.0, 0.1, 6.1, 11.4, 19.2, 20.9, 40.1]
dict_items([(0.0, 3), (1.0, 2), (2.0, 1), (4.0, 1)])

在本例中,0.0-->0-10范围内有3个计数

我猜这些是0、10、20等,因为它们从未被计入任何类别。你可能想改变其中一个
啊,是的,很简单。谢谢卢卡斯!