<bdo id='yUmlR'></bdo><ul id='yUmlR'></ul>

    1. <i id='yUmlR'><tr id='yUmlR'><dt id='yUmlR'><q id='yUmlR'><span id='yUmlR'><b id='yUmlR'><form id='yUmlR'><ins id='yUmlR'></ins><ul id='yUmlR'></ul><sub id='yUmlR'></sub></form><legend id='yUmlR'></legend><bdo id='yUmlR'><pre id='yUmlR'><center id='yUmlR'></center></pre></bdo></b><th id='yUmlR'></th></span></q></dt></tr></i><div id='yUmlR'><tfoot id='yUmlR'></tfoot><dl id='yUmlR'><fieldset id='yUmlR'></fieldset></dl></div>
      <tfoot id='yUmlR'></tfoot>
      1. <small id='yUmlR'></small><noframes id='yUmlR'>

        <legend id='yUmlR'><style id='yUmlR'><dir id='yUmlR'><q id='yUmlR'></q></dir></style></legend>

        有没有更好的方法来检查一个数字是否是两个数字的范围

        Is there a better way to check if a number is range of two numbers(有没有更好的方法来检查一个数字是否是两个数字的范围)
          <bdo id='EDk1d'></bdo><ul id='EDk1d'></ul>

          1. <tfoot id='EDk1d'></tfoot>
            <i id='EDk1d'><tr id='EDk1d'><dt id='EDk1d'><q id='EDk1d'><span id='EDk1d'><b id='EDk1d'><form id='EDk1d'><ins id='EDk1d'></ins><ul id='EDk1d'></ul><sub id='EDk1d'></sub></form><legend id='EDk1d'></legend><bdo id='EDk1d'><pre id='EDk1d'><center id='EDk1d'></center></pre></bdo></b><th id='EDk1d'></th></span></q></dt></tr></i><div id='EDk1d'><tfoot id='EDk1d'></tfoot><dl id='EDk1d'><fieldset id='EDk1d'></fieldset></dl></div>
            1. <small id='EDk1d'></small><noframes id='EDk1d'>

                <tbody id='EDk1d'></tbody>

              <legend id='EDk1d'><style id='EDk1d'><dir id='EDk1d'><q id='EDk1d'></q></dir></style></legend>
                  本文介绍了有没有更好的方法来检查一个数字是否是两个数字的范围的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在尝试检查一个数字是否在整数范围内,并根据它所在的范围返回一个数字。我想知道有没有更好、更有效的方法来做这件事:

                  def checkRange(number):
                      if number in range(0, 5499):
                          return 5000
                      elif number in range(5500, 9499):
                          return 10000
                      elif number in range(9500, 14499):
                          return 15000
                      elif number in range(14500, 19499):
                          return 20000
                      elif number in range(19500, 24499):
                          return 25000
                      elif number in range(24500, 29499):
                          return 30000
                      elif number in range(29500, 34499):
                          return 35000
                      elif number in range(34500, 39499):
                          return 40000
                      elif number in range(39500, 44499):
                          return 45000
                  

                  这感觉像是浪费资源,如果有更好的方法,我将不胜感激。

                  推荐答案

                  由于您有连续的排序区域,因此执行此操作的一种更快且不太冗长的方法是使用bisect模块在断点列表中查找索引,然后使用它从值列表中获取相应值:

                  import bisect
                  
                  break_points = [5499,  9499, 14499, 19499, 24499, 29499, 34499, 39499, 44499]
                  values       = [5000, 10000, 15000, 20000, 25000, 30000, 35000, 40000, 45000]
                  
                  n = 10000
                  index = bisect.bisect_left(break_points, n)
                  
                  values[index]
                  # 15000
                  

                  如果有可能,您需要测试超过上一个断点的n值。或者,您可以将默认值添加到值列表的末尾。

                  这篇关于有没有更好的方法来检查一个数字是否是两个数字的范围的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  GUI Freezes while downloading PyQt5 and Pytube(GUI在下载PyQt5和Pytube时冻结)
                  How to solve memory issues while multiprocessing using Pool.map()?(如何解决使用Pool.map()进行多处理时的内存问题?)
                  Python - How to use FastAPI and uvicorn.run without blocking the thread?(Python-如何使用FastAPI和uvicorn.run而不阻塞线程?)
                  How to increment a shared counter from multiple processes?(如何从多个进程递增共享计数器?)
                  Using pika, how to connect to rabbitmq running in docker, started with docker-compose with external network?(使用pika,如何连接运行在docker中的rabbitmq,从docker开始-与外部网络连接?)
                  How to use .rolling() on each row of a Pandas dataframe?(如何对 pandas 数据帧的每一行使用.roll()?)
                  <tfoot id='nrR4R'></tfoot>
                • <i id='nrR4R'><tr id='nrR4R'><dt id='nrR4R'><q id='nrR4R'><span id='nrR4R'><b id='nrR4R'><form id='nrR4R'><ins id='nrR4R'></ins><ul id='nrR4R'></ul><sub id='nrR4R'></sub></form><legend id='nrR4R'></legend><bdo id='nrR4R'><pre id='nrR4R'><center id='nrR4R'></center></pre></bdo></b><th id='nrR4R'></th></span></q></dt></tr></i><div id='nrR4R'><tfoot id='nrR4R'></tfoot><dl id='nrR4R'><fieldset id='nrR4R'></fieldset></dl></div>

                    <small id='nrR4R'></small><noframes id='nrR4R'>

                    <legend id='nrR4R'><style id='nrR4R'><dir id='nrR4R'><q id='nrR4R'></q></dir></style></legend>
                      • <bdo id='nrR4R'></bdo><ul id='nrR4R'></ul>
                          <tbody id='nrR4R'></tbody>