python 找出list列表中相同元素(指定元素)的所有索引

有时需要获取列表中某一元素的所有索引,而获取列表元素索引的函数index只能返回第一个满足条件的元素的索引。

此时我们可以通过两种方式获取其所有索引:

1.将list转为array

对于array对象,可以使用如下方式获取某个元素的所有索引

nums_list = [1,2,3,1]
nums = np.array(nums_list)
indexs = np.where(nums==num)

其中nums_list为原始列表,nums为array数组,num为指定元素。

返回的对象为包含一个array对象的tuple类型,如果我们想要list类型的结果,

可直接使用如下方式将其转为list即可

nums_list = [1,2,3,1]
nums = np.array(nums_list)
indexs = np.where(nums==num)[0].tolist()

2.使用enumerate函数

这种方式就是一个个列举,然后把满足条件的元素索引记录下来,代码如下:

indexs = [index for index,value in enumerate(nums_list) if value == num]

当然也有其他方法,但是原理跟enumerate差不多,都是穷举的思想,看起来也不太简洁。

以上两种方式都是针对想要查询的元素已知的情况,如果要查询的元素未知,

比如找出列表中的众数的所有索引,则需要先确定众数,然后再使用上述方法。文章来源地址https://uudwc.com/A/GL0D

原文地址:https://blog.csdn.net/JingpengSun/article/details/129421974

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年06月17日 04:36
下一篇 2023年06月17日 04:36