使用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]
當(dāng)然也有其他方法,但是原理跟enumerate差不多,都是窮舉的思想,看起來也不太簡潔。
以上兩種方式都是針對想要查詢的元素已知的情況,如果要查詢的元素未知,
比如找出列表中的眾數(shù)的所有索引,則需要先確定眾數(shù),然后再使用上述方法。
總結(jié)
到此這篇關(guān)于使用python找出list列表中相同元素(指定元素)的所有索引的文章就介紹到這了,更多相關(guān)python找出list列表相同元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python經(jīng)緯度坐標(biāo)轉(zhuǎn)換為距離及角度的實(shí)現(xiàn)
這篇文章主要介紹了Python經(jīng)緯度坐標(biāo)轉(zhuǎn)換為距離及角度的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
基于anaconda下強(qiáng)大的conda命令介紹
今天小編就為大家分享一篇基于anaconda下強(qiáng)大的conda命令介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Python使用Paramiko庫進(jìn)行SSH遠(yuǎn)程連接與文件傳輸
在網(wǎng)絡(luò)管理和系統(tǒng)運(yùn)維中,SSH是一種廣泛用于遠(yuǎn)程登錄和文件傳輸?shù)膮f(xié)議,Python中的Paramiko庫為開發(fā)者提供了靈活、強(qiáng)大的SSH客戶端和服務(wù)器功能,本文將深入探討Paramiko庫的使用,需要的朋友可以參考下2026-01-01
Python基于Tkinter的HelloWorld入門實(shí)例
這篇文章主要介紹了Python基于Tkinter的HelloWorld入門實(shí)例,以一個簡單實(shí)例分析了Python中Tkinter模塊的使用技巧,需要的朋友可以參考下2015-06-06
理解Python繼承之從__init__覆蓋到super()的妙用方法
這篇文章主要介紹了理解Python繼承之從__init__覆蓋到super()的相關(guān)資料,解決了初學(xué)者對為何子類的__init__必須手動調(diào)用父類__init__的困惑,需要的朋友可以參考下2025-12-12
教你怎么用python批量登錄帶有驗(yàn)證碼的網(wǎng)站
這篇文章主要介紹了教你怎么用python批量登錄帶有驗(yàn)證碼的網(wǎng)站,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好的幫助,需要的朋友可以參考下2021-04-04

