Python挑战练习-进阶练习40
编写一个程序,查找给定列表中给定元素的所有索引。
-
定义函数
find_indices()
,它接受两个参数,一个my_list
列表和一个element
的变量。 -
该函数应返回
my_list
中出现element
的所有索引的列表。
方法一
-
分析:找到element这个变量出现的索引,肯定要写个循环进行查找,而且从头到尾都查找,所以是for i in range(len(my_list))。要输出索引对应的元素,可以用列表的append方法,先初始化一个[ ],找到一个加入一个。
def find_indices(my_list, element):
indices = []
for i in range(len(my_list)):
if my_list[i] == element:
indices.append(i)
return indices
方法二
使用enumerate函数
def find_indices(my_list, element):
indices = []
for index, value in enumerate(my_list):
if value == element:
indices.append(index)
return indices
解释:
-
这里使用
enumerate
函数,它会同时生成列表元素的索引和元素本身,在for
循环中,index
是元素的索引,value
是元素的值。 -
在
if value == element:
条件判断中,如果元素的值等于element
,使用indices.append(index)
将该元素的索引添加到indices
列表中。
使用列表推导式
def find_indices(my_list, element):
return [index for index, value in enumerate(my_list) if value == element]