Python 統(tǒng)計列表中重復元素的個數(shù)并返回其索引值的實現(xiàn)方法
需求:統(tǒng)計列表list1中元素3的個數(shù),并返回每個元素的索引
list1 = [3, 3, 8, 9, 2, 10, 6, 2, 8, 3, 4, 5, 5, 4, 1, 5, 9, 7, 10, 2]
在實際工程中,可能會遇到以上需求,統(tǒng)計元素個數(shù)使用list.count()方法即可,不做多余說明
返回每個元素的索引需要做一些轉(zhuǎn)換,簡單整理了幾個實現(xiàn)方法
1 list.index()方法
list.index()方法返回列表中首個元素的索引,當有重復元素時,可以通過更改index()方法__start參數(shù)來更改起始索引
找到一個元素后,將起始索引替換為該元素的下一個索引,繼續(xù)進行查找,直到找到所有的元素索引
list1 = [3, 3, 8, 9, 2, 10, 6, 2, 8, 3, 4, 5, 5, 4, 1, 5, 9, 7, 10, 2]
count = list1.count(3)
index_list = []
index = -1
# 通過list.index()方法的__start參數(shù),指定起始索引
for i in range(0, count):
index = list1.index(3, index + 1)
index_list.append(index)
print(index_list)
結(jié)果如下:

2 通過索引遍歷原列表,對每一個元素進行判斷
通過索引遍歷原列表,對每一個元素進行判斷,如果元素是目標元素,則返回對應索引值,示例如下:
list1 = [3, 3, 8, 9, 2, 10, 6, 2, 8, 3, 4, 5, 5, 4, 1, 5, 9, 7, 10, 2]
list1_len = len(list1)
index_list = []
for i in range(0, list1_len):
if list1[i] == 3:
index_list.append(i)
print(index_list)
結(jié)果同上
3 enumerate()函數(shù)和列表推導式
使用enumerate()函數(shù)返回可解析的index-value列表,然后使用列表推導式,同時使用if條件過濾得到目標值的索引,示例如下:
list1 = [3, 3, 8, 9, 2, 10, 6, 2, 8, 3, 4, 5, 5, 4, 1, 5, 9, 7, 10, 2] index_list = [a for a, b in enumerate(list1) if b == 3] print(index_list)
結(jié)果同上
各位大佬有好的實現(xiàn)方法可以在下方評論分享一下
到此這篇關于Python 統(tǒng)計列表中重復元素的個數(shù)并返回其索引值的文章就介紹到這了,更多相關Python 統(tǒng)計列表元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
VSCode設置類似Pycharm控制臺運行Python顯示中間變量的步驟
這篇文章主要介紹了如何在VSCode中設置調(diào)試功能,以實現(xiàn)類似于Pycharm在控制臺輸出中間變量的功能,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2025-03-03
Python threading.local代碼實例及原理解析
這篇文章主要介紹了Python threading.local代碼實例及原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03
使用anaconda的pip安裝第三方python包的操作步驟
今天小編就為大家分享一篇使用anaconda的pip安裝第三方python包的操作步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Python實現(xiàn)PDF文字識別提取并寫入CSV文件
這篇文章主要是和大家分享一個Python實現(xiàn)PDF文字識別與提取并寫入?CSV文件的腳本。文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2022-03-03

