使用python找出list列表中相同元素(指定元素)的所有索引
前言
有時需要獲取列表中某一元素的所有索引,而獲取列表元素索引的函數(shù)index只能返回第一個滿足條件的元素的索引。
此時我們可以通過兩種方式獲取其所有索引:
1.將list轉(zhuǎn)為array
對于array對象,可以使用如下方式獲取某個元素的所有索引
nums_list = [1,2,3,1] nums = np.array(nums_list) indexs = np.where(nums==num)
其中nums_list為原始列表,nums為array數(shù)組,num為指定元素。
返回的對象為包含一個array對象的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ù)
這種方式就是一個個列舉,然后把滿足條件的元素索引記錄下來,代碼如下:
indexs = [index for index,value in enumerate(nums_list) if value == num]
當然也有其他方法,但是原理跟enumerate差不多,都是窮舉的思想,看起來也不太簡潔。
以上兩種方式都是針對想要查詢的元素已知的情況,如果要查詢的元素未知,
比如找出列表中的眾數(shù)的所有索引,則需要先確定眾數(shù),然后再使用上述方法。
總結(jié)
到此這篇關(guān)于使用python找出list列表中相同元素(指定元素)的所有索引的文章就介紹到這了,更多相關(guān)python找出list列表相同元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用cn2an實現(xiàn)中文數(shù)字與阿拉伯數(shù)字的相互轉(zhuǎn)換
這篇文章主要介紹了Python使用cn2an實現(xiàn)中文數(shù)字與阿拉伯數(shù)字的相互轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03python“靜態(tài)”變量、實例變量與本地變量的聲明示例
這篇文章主要給大家介紹了關(guān)于python“靜態(tài)”變量、實例變量與本地變量的聲明的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11