python判断是否是浮点数_python-检查给定浮点数在列表中的哪个浮点...

博客探讨了如何在Python中遍历一个未排序的浮点数列表,并找到每个元素在另一个有序列表中的位置。通过比较和索引操作,实现了一个高效的解决方案,但也询问了是否存在更简洁的内置函数或numpy/scipy方法来完成这项任务。
摘要由CSDN通过智能技术生成

我有一个看起来像这样的列表:

# Ordered list.

a = [0.1, 0.3, 0.4, 0.5, 0.6, 0.7, 0.9]

我需要遍历如下所示的浮点列表:

# Not ordered list.

b = [0.12, 0.53, 0.30, 0.03, 0.77, 0.62, 0.98, 0.01, 0.42, 0.33, 1.3]

检查列表a中的哪个元素在列表a中的哪个元素之间,并返回a中的元素的索引(右侧).例如,对于上面的列表b,结果如下所示:

indxs = [1, 4, 2, 0, 6, 5, 7, 0, 3, 2, 7]

(请注意,索引7指向与max(a)相关联的额外元素)

我可以使用如下所示的for / if循环来做到这一点,但我想知道是否有一种我可能不知道的函数可能更简单的方法(欢迎使用numpy / scipy函数)

MWE:

indxs = []

for b_el in b:

# Check if float is to the right of max(a)

if b_el > max(a):

indxs.append(len(a))

else:

for a_el in a:

if b_el < a_el:

indxs.append(a.index(a_el))

break

elif b_el == a_el:

indxs.append(a.index(a_el) + 1)

break

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值