python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python找出list列表相同元素索引

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

作者:衷科知眠

这篇文章主要给大家介绍了关于使用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差不多,都是穷举的思想,看起来也不太简洁。

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

比如找出列表中的众数的所有索引,则需要先确定众数,然后再使用上述方法。

总结

到此这篇关于使用python找出list列表中相同元素(指定元素)的所有索引的文章就介绍到这了,更多相关python找出list列表相同元素内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文