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))
原文地址:https://www.cnblogs.com/jessicaxu/p/7730233.html