gpt4 book ai didi

python - 如何找到数字范围

转载 作者:太空宇宙 更新时间:2023-11-03 12:21:17 27 4
gpt4 key购买 nike

我在 text.txt 文件中有一个数字列表。
2.50
2.56
2.81
2.86
2.84
3.21
3.47
2.91
2.96
3.11
2.83
2.89
2.94
2.94
3.34
3.44
2.94
2.96
3.04
3.01
2.85
3.05
3.10

我想对范围集中的每个数字进行分类。比如一个范围内有多少。
2.5-2.7
2.7-2.9
2.9-3.1
3.1-3.3
3.3-3.5

我试过了。

from __future__ import division
from math import *
from numpy import *
from string import*

infile = open('text1.txt', 'r')
text = infile.read().split('\n')
infile.close()
text.remove('')

numbers = []
for i in text:
count = 0
if (numbers[i] > 2.49) and (numbers[i] < 2.59):
count += 1
print("Number of elements", count)

它不工作

最佳答案

您可以使用 bisect 模块:

>>> import bisect
>>> ranges = [2.5, 2.7, 2.9, 3.1, 3.3, 3.5]
>>> nums = [2.5, 2.56, 2.81, 2.86, 2.84, 3.21, 3.47, 2.91, 2.96, 3.11, 2.83, 2.89, 2.94, 2.94, 3.34, 3.44, 2.94, 2.96, 3.04, 3.01, 2.85, 3.05, 3.1]
>>> lis = [0]*len(ranges)
for item in nums:
ind = bisect.bisect(ranges, item) - 1
lis[ind] += 1
for x, y in zip(zip(ranges, ranges[1:]), lis):
print x, y
...
(2.5, 2.7) 2
(2.7, 2.9) 6
(2.9, 3.1) 9
(3.1, 3.3) 3
(3.3, 3.5) 3

关于python - 如何找到数字范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18628838/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com