python 找出list列表中相同元素(指定元素)的所有索引 |
您所在的位置:网站首页 › python数组索引规则 › 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差不多,都是穷举的思想,看起来也不太简洁。 以上两种方式都是针对想要查询的元素已知的情况,如果要查询的元素未知, 比如找出列表中的众数的所有索引,则需要先确定众数,然后再使用上述方法。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |