当前位置:  开发笔记 > 编程语言 > 正文

Python在给定条件的情况下查找列表的索引

如何解决《Python在给定条件的情况下查找列表的索引》经验,为你挑选了1个好方法。

我有一个清单,让我们说:

list_A = [0,0,0,1.0,2.0,3.0,2.0,1.0,0,0,0]

我想找到list_A> 0的这个列表的最小和最大索引.

即在上面的例子中,它将是3和7.

对于其他单调增加的列表,我一直在使用np.searchsorted,就像np.searchsorted(list,[0.5,1.0])找到列表所在的索引一样between 0.5 and 1.0.

但是这种情况完全不同,在np.searchsorted这里不起作用,或者它可能以我不知道的方式进行!



1> Netwave..:

用其索引过滤压缩列表并获取最小值和最大值:

>>> list_A = [0,0,0,1.0,2.0,3.0,2.0,1.0,0,0,0]
>>> filtered_lst = [(x,y) for x,y in enumerate(list_A) if y > 0]
>>> max(filtered_lst)
(7, 1.0)
>>> min(filtered_lst)
(3, 1.0)

如果只需要索引,请解压缩返回的值:

>>> maX,_ =  max(filtered_lst)
>>> maX
7

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有