App下載

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

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

對(duì)于一個(gè)列表,我們有這樣的一個(gè)常見業(yè)務(wù)需求:查詢一個(gè)元素是否在一個(gè)列表里,如果有,就返回這個(gè)元素的下標(biāo)。他的實(shí)現(xiàn)方式也比較簡(jiǎn)單,python查詢?cè)厥欠裨诹斜碇锌梢员闅v列表逐一比對(duì),得到這個(gè)元素后,使用python返回元素下標(biāo)的方法就可以獲得這個(gè)元素的下標(biāo),從而實(shí)現(xiàn)這個(gè)需求,那么接下來我們就來看看怎么實(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字符串列表中查找出某個(gè)值且對(duì)應(yīng)的下標(biāo)

1、字符串中查找值和對(duì)應(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值所對(duì)應(yīng)的下標(biāo)——————————————————————結(jié)果————————————————————————
['y', 'y', 'y', 'y'][3, 8, 10, 15]

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

'''
遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:778463939
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(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-字符串中查找某個(gè)值的index索引值(下標(biāo))

問題:如題

解決:

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

例子:

例子

以上就是python查詢?cè)厥欠裨诹斜碇胁⒎祷卦叵聵?biāo)的全部?jī)?nèi)容,希望能給大家一個(gè)參考,也希望大家多多支持W3Cschool。


0 人點(diǎn)贊