有時(shí)需要獲取列表中某一元素的所有索引,而獲取列表元素索引的函數(shù)index只能返回第一個(gè)滿足條件的元素的索引。
此時(shí)我們可以通過兩種方式獲取其所有索引:
1.將list轉(zhuǎn)為array
對(duì)于array對(duì)象,可以使用如下方式獲取某個(gè)元素的所有索引
nums_list = [1,2,3,1]
nums = np.array(nums_list)
indexs = np.where(nums==num)
其中nums_list為原始列表,nums為array數(shù)組,num為指定元素。
返回的對(duì)象為包含一個(gè)array對(duì)象的tuple類型,如果我們想要list類型的結(jié)果,
可直接使用如下方式將其轉(zhuǎn)為list即可
nums_list = [1,2,3,1]
nums = np.array(nums_list)
indexs = np.where(nums==num)[0].tolist()
2.使用enumerate函數(shù)
這種方式就是一個(gè)個(gè)列舉,然后把滿足條件的元素索引記錄下來,代碼如下:
indexs = [index for index,value in enumerate(nums_list) if value == num]
當(dāng)然也有其他方法,但是原理跟enumerate差不多,都是窮舉的思想,看起來也不太簡(jiǎn)潔。
以上兩種方式都是針對(duì)想要查詢的元素已知的情況,如果要查詢的元素未知,文章來源:http://www.zghlxwxcb.cn/news/detail-413210.html
比如找出列表中的眾數(shù)的所有索引,則需要先確定眾數(shù),然后再使用上述方法。文章來源地址http://www.zghlxwxcb.cn/news/detail-413210.html
到了這里,關(guān)于python 找出list列表中相同元素(指定元素)的所有索引的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!