一、求列表中某個元素的下標
def findindex(org, x, pos=-1): counts = org.count(x) #先求出org中包含x的個數 if counts == 0: #個數為0,說明不存在x print(org, '中沒有', x) elif counts == 1: #個數為1,說明結果唯一,直接返回index(x) print(org.index(x)) else: ''' 個數大於1時,從下標為0的位置開始查找 找到一個后,先打印下標位置,再從該位置的下一個位置開始繼續查找 ''' for i in range(counts): pos = org.index(x, pos + 1) print(pos,end=' ') print() org = [1, 2, 2, 33, 2, 4, 5, 2] findindex(org, 3) findindex(org, 2) findindex(org, 1)
查看結果:
[1, 2, 2, 33, 2, 4, 5, 2] 中沒有 3
1 2 4 7
0
二、通過enumerate()使程序更簡潔
def findindex(org, x): result = [] for k,v in enumerate(org): #k和v分別表示org中的下標和該下標對應的元素 if v == x: result.append(k) return result org = [1, 2, 2, 33, 2, 4, 5, 2] print(findindex(org, 3)) print(findindex(org, 2)) print(findindex(org, 1))