iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python进行区间取值案例讲解
  • 888
分享到

Python进行区间取值案例讲解

2024-04-02 19:04:59 888人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

需求背景: 进行分值计算。如下图,如果只是一两个还好说,写写判断,但是如果有几十个,几百个,会不会惨不忍睹。而且,下面的还是三种情况。 例如: 解决: # 根据值、比较lis

需求背景:

进行分值计算。如下图,如果只是一两个还好说,写写判断,但是如果有几十个,几百个,会不会惨不忍睹。而且,下面的还是三种情况。

例如:

解决:


# 根据值、比较list, 值list,返回区间值, other_value 即不在的情况
    def get_value_by_between(self, compare_value, compare_list, value_list, other_value, type="compare", left=False,
                             right=True):
        try:
            if compare_value is None or compare_value == '':
                return other_value
 
            if len(compare_list) != len(value_list):
                raise Exception("区间对比两个list长度不一致")
 
            # # 如果比较的值和其它情况值一致,说明是其它情况
            # if compare_value == other_value:
            #     return other_value
 
            # 左边开区间
            if compare_list[0] == -9999999 and compare_list[1] >= compare_value:
                return value_list[0]
 
            # 右边开区间
            if right is True and compare_value > compare_list[len(compare_list) - 1]:
                return value_list[len(compare_list) - 1]
            # 左边开区间
            # if left is True and compare_value <= compare_list[0]:
            #     return compare_value[0]
 
            for ind, this_val in enumerate(compare_list):
                # 如果是最后一个,则返回最后一个值
                if compare_value > compare_list[len(compare_list) - 1]:
                    return value_list[len(compare_list) - 1]
                # 返回默认的
                elif (ind + 1) == len(compare_list):
                    return other_value
 
                # 下一个,如果大于compare_list长度减1 ,就返回最后一个
                next_val = compare_list[ind if ind >= len(compare_list) else ind + 1]
                # 第一个的话就是 大于等于,小于下一个
                if ind == 0 and compare_value >= this_val and compare_value <= next_val:
                    return value_list[ind]
                # 大于左边,小于等于右边
                elif this_val < compare_value and compare_value <= next_val:
                    return value_list[ind]
        except:
            log.error("根据区间计算分数异常", traceback.fORMat_exc())
        return other_value

# 数字型
    def get_val_by_list(self, compare_value, compare_list, val_list, other_value):
        try:
            if compare_value is None:
                return other_value
 
            for ind, li in enumerate(compare_list):
                if len(li) == 1 and compare_value == li[0]:
                    return val_list[ind]
                # 最后一个
                elif len(li) == 1 and (ind + 1) == len(compare_list) and compare_value >= li[0]:
                    return val_list[ind]
                elif len(li) == 2 and compare_value >= li[0] and compare_value <= li[1]:
                    return val_list[ind]
        except:
            log.error(" get_val_by_list 异常", traceback.format_exc())
        return other_value

TEST


# creditTime 即值
self.get_val_by_list(creditTime, [[0],[1],[2],[3]], [20, 10, 0, -100],
                                                                   other_value=0)

self.get_value_by_between(taxCreditRating, [0, 60, 70, 80, 90],[-200, 0, 10, 20, 30], other_value=0)

如果是图2,即第三种情况,则需要多加一个0,和对应的值。


self.get_value_by_between(taxAmt12m, [0,0, 1000, 15000, 50000, 200000],[-50, -50, 0, 0, 5, 10], -0)

如果是负无穷大,则使用-999999

到此这篇关于python进行区间取值案例讲解的文章就介绍到这了,更多相关Python进行区间取值内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python进行区间取值案例讲解

本文链接: https://www.lsjlt.com/news/131661.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python进行区间取值案例讲解
    需求背景: 进行分值计算。如下图,如果只是一两个还好说,写写判断,但是如果有几十个,几百个,会不会惨不忍睹。而且,下面的还是三种情况。 例如: 解决: # 根据值、比较lis...
    99+
    2024-04-02
  • Python怎么进行区间取值
    这篇文章主要介绍“Python怎么进行区间取值”,在日常操作中,相信很多人在Python怎么进行区间取值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python怎么进行区间取值”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • 怎么使用python进行区间取值
    这篇文章主要讲解了“怎么使用python进行区间取值”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用python进行区间取值”吧!需求背景:进行分值计算。如下图,如果只是一两个还好说,...
    99+
    2023-06-20
  • 使用python 进行区间取值的方法
    需求背景: 进行分值计算。如下图,如果只是一两个还好说,写写判断,但是如果有几十个,几百个,会不会惨不忍睹。而且,下面的还是三种情况。 例如: 解决: # 根据值、比较list...
    99+
    2024-04-02
  • Python之进行URL编码案例讲解
    为什么要对URL进行encode 在写网络爬虫时,发现提交表单中的中文字符都变成了TextBox1=%B8%C5%C2%CA%C2%DB这种样子,观察这是中文对应的GB2312编码,...
    99+
    2024-04-02
  • React+TypeScript进行项目构建案例讲解
        react项目构建可以很简单,但是如果是结合typescript,其实也不是很麻烦,官网也有很明确的说明。有两种办法:     1、直...
    99+
    2024-04-02
  • Java对文件进行基本操作案例讲解
    File文件类 java.io.File是文件和目录的重要类(JDK6及以前是唯一) 目录也使用File类进行表示 File类与操作系统无关,但会受到操作系...
    99+
    2024-04-02
  • javacfinal变量未赋值检测案例讲解
    目录前言案例解析总结前言 我们在前面介绍AssignAnalyzer时,对AssignAnalyzer.letInit(DiagnosticPosition, VarSymbol)方...
    99+
    2022-12-20
    javac final变量未赋值 javac final变量
  • Python之urlencode和urldecode案例讲解
    python中的urlencode和urldecode python将字符串转化成urlencode ,或者将url编码字符串decode的方法: 方法1: urlencod...
    99+
    2024-04-02
  • Python对多个sheet表进行整合实例讲解
    1、说明 xlwt模块是非追加写入.xls模块,所以要一次性写入for循环和列表,这样就没有追加和非追加的说法。 并且将Excel表合并,将每一个Excel表作为行,即行合并,换个想...
    99+
    2024-04-02
  • python中对多个CSV文件进行读取的案例
    这篇文章主要介绍了python中对多个CSV文件进行读取的案例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python的数据类型有哪些python的数据类型:1. 数字类型...
    99+
    2023-06-14
  • python实现CTC以及案例讲解
    在大多数语音识别任务中,我们都缺少文本和音频特征的alignment,Connectionist Temporal Classification作为一个损失函数,用于在序列数据上进行...
    99+
    2024-04-02
  • ​JavaScript进行数值取整的示例分析
    这篇文章主要介绍JavaScript进行数值取整的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!js取整数的方法:1、通过“Math.trunc()”方法去除数字的小数部分,保留整数部分;2、通过“Math....
    99+
    2023-06-06
  • 实例讲解golang怎么进行换行转义
    随着Golang(Go语言)在一些互联网企业中的广泛采用,越来越多的程序员开始将它作为日常工作中的首选语言,其中对于Golang中的换行符转义方式的了解显得尤为重要。在Golang中,换行符的转义方式与传统的转义方式略有不同。在C语言等传统...
    99+
    2023-05-14
  • php之使用docker运行workerman案例讲解
    介绍 在docker上部署gatawayWorker项目,项目中使用到mysql,redis 安装 mysql 拉取镜像 docker pull mysql:5.7 运行容器 ...
    99+
    2024-04-02
  • JavaScript navigator.userAgent获取浏览器信息案例讲解
    浏览器对于我们来说,可能是最熟悉的工具了。熟知的浏览器Firefox、Opera、Safari、IE、Chrome以外,据说世界上还有近百种浏览器。通常在开发的时候要做到兼容各种浏览...
    99+
    2024-04-02
  • Python中import语句用法案例讲解
    目录一. 什么是模块(module)?二. 模块是如何组织的三. 如何导入模块?1. 命名空间3. from … import … 的运行机制五. 导入模...
    99+
    2022-12-29
    Python import语句用法 Python import用法 Python import语句
  • 利用python怎么进行区间运算
    在python中使用range函数进行区间运算,具体方法如下:例:计算某区间范围内的全部素数。def prime(m,n):list1=[]list2=[]for i in range(m,n+1):list1.append(i)for j...
    99+
    2024-04-02
  • 通过实例讲解vue组件之间的传值
    目录前言1.父组件向子组件进行传值2.子组件向父组件进行传值3.非父子组件之间的传值 总结前言 目前在做vue的项目,用到了子组件依赖其父组件的数据,进行子组件的相关请求和...
    99+
    2024-04-02
  • Python获取多进程执行的返回值
    Python获取多进程执行的返回值 众所周知,因为GIL的原因,Python至今不支持真正的多线程。为了达到并行运行的目的,我们往往就需要运行多进程了。 一个任务由一个进程来运行,可是它的结果怎么来获...
    99+
    2023-08-31
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作