Python代码阅读

Python代码阅读(第84篇):列表元素搜索

2021-11-30  本文已影响0人  FelixZzzz

Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码

本篇阅读的代码实现了搜索整个列表,并返回列表中所有和指定值相等的元素的索引。

本篇阅读的代码片段来自于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函数接收一个列表和一个指定值,函数返回所有和该值相等的元素在列表中的索引。

函数使用enumerate(lst)获取一个可迭代的枚举对象,每次迭代,得到一个元组,包含一个默认从0开始的计数器和迭代lst获得的值。也就是说将lst列表,转化成一个个索引值和对应的元素所组成的元组。然后使用列表推导式生成所有满足条件的元素的索引组成的列表。

上一篇下一篇

猜你喜欢

热点阅读