Python求列表中某個元素的下標


一、求列表中某個元素的下標

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))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM