【发布时间】:2021-03-02 03:21:51
【问题描述】:
我有一个数字变量和一组连续的整数。随着数字变量的变化,我需要记录数字变量在连续整数集中的哪些位置。
例如,如果我的整数集是:
li = [20,21,22,23,24,25,26,27,28,29,30]
而数字变量是:
num = 22.74
我想要的输出是列表中num 介于两者之间的位置:
2,3
我知道li.index(22) 会返回该位置,但前提是该确切项目在列表中。如果数字介于项目之间,则无法找到如何找到位置。
我想象一个 for 循环将 num 与列表中的每个相邻位置项进行比较,通过检查 num 是否落在这两个整数之间可以解决它。比如:
for x and the following item in li:
if x < num < the following item:
positionone = x
positiontwo = the following item
else:
continue
只是无法完成它的工作原理,主要是通过获取列表的下一个位置来替换“以下项目”。也许有更好的方法来解决这个问题?任何帮助深表感谢!谢谢!
【问题讨论】:
-
22.74不是整数。 -
如果
num是整数呢?例如。如果num == 24,结果应该是什么? -
相应地更新了问题。谢谢。
-
比较你的值是否低于当前元素就足够了,如果条件失败返回当前索引和前一个索引,则中断循环执行。要使用它的索引迭代值,您可以使用
enumerate()。 -
是否可以
num停留在li间隔内?例如num=32
标签: python list for-loop integer