如何在Python中查找元素多个索引值
在处理列表、元组时,index函数只能够获取相同元素中第一个元素的下标,而不能获取所有相同元素的下标。不过我们可以通过for循环来获取所有相同元素的下标值。ending = []# ending作为接收所有相同元素的下标值的容器list_A = [1, 2, 1, 3, 6, 1, 9]# 我们假定要对该列表中的元素进行查找finding = int(input('请输入你要查找的元素'))tim
·
在处理列表、元组时,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
更多推荐
已为社区贡献1条内容
所有评论(0)