Python代碼閱讀(第84篇):列表元素搜索

Python 代碼閱讀合集介紹:為什么不推薦Python初學(xué)者直接看項(xiàng)目源碼

本篇閱讀的代碼實(shí)現(xiàn)了搜索整個列表,并返回列表中所有和指定值相等的元素的索引。

本篇閱讀的代碼片段來自于30-seconds-of-python

index_of_all

def index_of_all(lst, value):
  return [i for i, x in enumerate(lst) if x == value]

# EXAMPLES
print(index_of_all([1, 2, 1, 4, 5, 1], 1)) # [0, 2, 5]
print(index_of_all([1, 2, 3, 4], 6)) # [] 

index_of_all函數(shù)接收一個列表和一個指定值,函數(shù)返回所有和該值相等的元素在列表中的索引。

函數(shù)使用enumerate(lst)獲取一個可迭代的枚舉對象,每次迭代,得到一個元組,包含一個默認(rèn)從0開始的計(jì)數(shù)器和迭代lst獲得的值。也就是說將lst列表,轉(zhuǎn)化成一個個索引值和對應(yīng)的元素所組成的元組。然后使用列表推導(dǎo)式生成所有滿足條件的元素的索引組成的列表。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容