Python獲取list中指定元素索引的兩種方法小結(jié)
在平時(shí)開發(fā)過程中,經(jīng)常遇到需要在數(shù)據(jù)中獲取特定的元素的信息,如到達(dá)目的地最近的車站,櫥窗里面最貴的物品等等。怎么辦?看下面
方法一: 利用數(shù)組自身的特性 list.index(target), 其中a是你的目標(biāo)list,target是你需要的下標(biāo)對(duì)應(yīng)的值
li = [10,8,9,26,72,6,28] print(li.index(8))
但是,如果a中有多個(gè)8呢?
我們發(fā)現(xiàn),這種方法僅僅能獲取都第一個(gè)匹配的value的下標(biāo)(可以試試o_o)
所以,我們看看我們的第二種方案:
方法二: 利用enumerate函數(shù)。
>>> li = [10,8,9,26,72,6,28] >>> print (enumerate(li)) <enumerate object at 0x0000000002B9A990>
原來enumerate的輸出類型是enumerate object對(duì)象,所以,我們可以如下
>>> li [10, 8, 9, 26, 72, 6, 28] >>> print(list(enumerate(li))) [(0, 10), (1, 8), (2, 9), (3, 26), (4, 72), (5, 6), (6, 28)] >>> print([i for i,j in enumerate(li) if j == 8]) [1]
再看,如果a中有多個(gè)‘8’呢?
>>> li.append(8) >>> li.append(8) >>> li [10, 8, 9, 26, 72, 6, 28, 8, 8] >>> print(li.index(8)) 1 #學(xué)習(xí)中遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流群:531509025 >>> print(list(enumerate(li))) [(0, 10), (1, 8), (2, 9), (3, 26), (4, 72), (5, 6), (6, 28), (7, 8), (8, 8)] >>> print([i for i,j in enumerate(li) if j == 8]) [1, 7, 8]
可見,list的index()方法是在list中找到第一個(gè)匹配的值。
而enumerate是將list(當(dāng)然,也包含其它類型)中的元素元組化,然后我們利用循環(huán)方法獲取相應(yīng)的匹配的結(jié)果。所以方案二對(duì)于重復(fù)的數(shù)值能夠一個(gè)不漏的get出來。
到此這篇關(guān)于Python獲取list中指定元素索引的兩種方法小結(jié)的文章就介紹到這了,更多相關(guān)Python獲取list指定元素索引內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python史上最全種類數(shù)據(jù)庫操作方法分享
本文將詳細(xì)探討如何在Python中連接全種類數(shù)據(jù)庫以及實(shí)現(xiàn)相應(yīng)的CRUD(創(chuàng)建,讀取,更新,刪除)操作,文中的示例代碼講解詳細(xì),需要的可以參考一下2023-07-07基于python opencv單目相機(jī)標(biāo)定的示例代碼
這篇文章主要介紹了基于python opencv單目相機(jī)標(biāo)定的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01caffe的python接口之手寫數(shù)字識(shí)別mnist實(shí)例
這篇文章主要為大家介紹了caffe的python接口之手寫數(shù)字識(shí)別mnist實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Python讀取CSV文件的4種方法與注意事項(xiàng)
在python里面,讀取或?qū)懭隿sv文件時(shí)是經(jīng)常遇到的一個(gè)需求,這篇文章主要給大家介紹了關(guān)于Python讀取CSV文件的4種方法與注意事項(xiàng),需要的朋友可以參考下2023-10-10python發(fā)送byte數(shù)據(jù)組到tcp的server問題
這篇文章主要介紹了python發(fā)送byte數(shù)據(jù)組到tcp的server問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09python將中文數(shù)字轉(zhuǎn)化成阿拉伯?dāng)?shù)字的簡(jiǎn)單方法
這篇文章主要給大家介紹了關(guān)于python如何將中文數(shù)字轉(zhuǎn)化成阿拉伯?dāng)?shù)字的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03