查找列表元素索引

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]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值