如何在Python中查找元素多个索引值

在处理列表、元组时,index函数只能够获取相同元素中第一个元素的下标,而不能获取所有相同元素的下标。不过我们可以通过for循环来获取所有相同元素的下标值。

ending = []  # ending作为接收所有相同元素的下标值的容器
list_A = [1, 2, 1, 3, 6, 1, 9]  # 我们假定要对该列表中的元素进行查找
finding = int(input('请输入你要查找的元素'))
times = list_A.count(finding)  # 首先我们要确定列表中含有多少我们所查找的元素,以备之后for循环使用
if times == 0:
    ending.append(None)  # 如果列表中没有我们要查找的元素,则返回None
    pass
else:
    for item in range(0, times):
        if item == 0:  # 这里为第一次查找时的情况
            position = list_A.index(finding)  # position作为接收元素下标的容器,并且为之后的查找提供起始位置
            ending.append(position)  # 向容器中添加当前元素的下标值
            pass
        else:
            position = list_A.index(finding, position + 1)  # 这里我们从上一个目标元素之后的一个元素开始查找,避免只能查找到第一个元素
            ending.append(position)
            pass
        pass
    pass
print(ending)  # 输出所有的下标值构成的列表

在实际使用时,需要查找的元素不一定属于int类型,我们可以通过强制类型转换来获取想要的数据类型。

在浏览CSDN中的其他帖子后,有了一种更加简洁的方法,即使用enumerate函数遍历列表或元组,进而获取下标值。

ending = []
list_A = [1, 2, 3, 2, 3, 4, 6, 10]
finding = int(input('请输入你要查找的元素:'))
for item, value in enumerate(list_A):  # 用enumerate函数遍历列表中的每一个元素,item接收下标值,value接收数据项
	if value == finding:
		ending.append(item)  # 将数据项对应的下标值添加到列表中
		pass
	else:
		pass
	pass
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值