App下載

python怎么查詢list是否存在并且并返回下標(biāo)?

猿友 2021-07-30 15:55:13 瀏覽數(shù) (5339)
反饋

對于一個列表,我們有這樣的一個常見業(yè)務(wù)需求:查詢一個元素是否在一個列表里,如果有,就返回這個元素的下標(biāo)。他的實(shí)現(xiàn)方式也比較簡單,python查詢元素是否在列表中可以遍歷列表逐一比對,得到這個元素后,使用python返回元素下標(biāo)的方法就可以獲得這個元素的下標(biāo),從而實(shí)現(xiàn)這個需求,那么接下來我們就來看看怎么實(shí)現(xiàn)吧。

看代碼吧~

def find_all_index(arr, item):
    return [i for i, a in enumerate(arr) if a == item]
 
if __name__ == '__main__':
    print(find_all_index([1,2,3,4,4,3,89],4))

輸出結(jié)果:

3,4

補(bǔ)充:python字符串列表中查找出某個值且對應(yīng)的下標(biāo)

1、字符串中查找值和對應(yīng)的下標(biāo)

a = "123yui78y8y67tuy"
print re.findall("y",a)  #查找出在a包含的字符串中所有的y值
print [i for i, x in enumerate(a) if x == 'y']  
#查找出a包含的y值所對應(yīng)的下標(biāo)——————————————————————結(jié)果————————————————————————
['y', 'y', 'y', 'y'][3, 8, 10, 15]

2、列表中查找值和對應(yīng)的下標(biāo)

'''
遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流QQ群:778463939
尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書!
'''
l = [23,45,4,2,4,2,4]   
result = []    #給定空列表,將結(jié)果值寫入此列表中
for i in range(l.count(4)):   
    if i==0:
        pos=l.index(4)
    else:
        pos=l.index(4,pos+1)
    result.append(pos)
print result________________________結(jié)果____________________________[2, 4, 6]

補(bǔ)充:python-字符串中查找某個值的index索引值(下標(biāo))

問題:如題

解決:

使用find() 方法 或者 index()方法

例子:

例子

以上就是python查詢元素是否在列表中并返回元素下標(biāo)的全部內(nèi)容,希望能給大家一個參考,也希望大家多多支持W3Cschool。


0 人點(diǎn)贊