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等,因为它们从未被计入任何类别。你可能想改变其中一个
啊,是的,很简单。谢谢卢卡斯!