第一个大于x的Python列表索引?

112 投票
12 回答
156335 浏览
提问于 2025-04-15 19:06

在Python中,找出一个列表中第一个大于x的元素的索引,最好的方法是什么呢?

比如说,如果我们有这样一个列表:

list = [0.5, 0.3, 0.9, 0.8]

那么这个函数

f(list, 0.7)

会返回

2.

12 个回答

21

在编程中,有时候我们需要处理一些数据,可能会用到数组。数组就像一个盒子,里面可以放很多东西,比如数字、文字等。我们可以通过数组的“索引”来找到我们想要的东西。索引就像是每个东西在盒子里的位置,从0开始数。

有些时候,我们需要把数组里的内容进行排序。排序就是把这些东西按照一定的规则排列好,比如从小到大或者从大到小。这样做的好处是,我们可以更快地找到我们需要的东西。

在编程中,还有一些常用的操作,比如添加新东西到数组里,或者从数组里删除一些东西。这些操作就像是在盒子里放东西或拿东西出来。

总之,数组是一个非常有用的工具,可以帮助我们更好地管理和处理数据。

>>> alist= [0.5, 0.3, 0.9, 0.8]
>>> [ n for n,i in enumerate(alist) if i>0.7 ][0]
2
60

如果列表是排好序的,那么使用 bisect.bisect_left(alist, value) 来查找一个值会比用 next(i for i, x in enumerate(alist) if x >= value) 快,特别是在处理很大的列表时。

155

在编程中,有时候我们需要把一些数据存储起来,以便后续使用。这就像把东西放进一个盒子里,等需要的时候再拿出来。这个过程叫做“存储”。

而“读取”就是把之前存储的数据拿出来使用,就像打开盒子,取出里面的东西。

在不同的编程语言中,存储和读取数据的方法可能会有所不同。有些语言提供了简单的命令来帮助我们完成这些操作,而有些则需要我们写更多的代码来实现。

总之,存储和读取数据是编程中非常重要的基本操作,掌握了这些,你就能更好地管理你的数据了。

next(x[0] for x in enumerate(L) if x[1] > 0.7)

撰写回答