python使用列表的 count 和 index 函数,求给定列表中指定元素出现的所有下标的位置
时间: 2024-10-15 12:09:30 浏览: 32
python列表返回重复数据的下标
5星 · 资源好评率100%
在Python中,`count()`函数用于计算列表中某个元素出现的次数,而`index()`函数则返回指定元素第一次出现的索引位置。如果你想找到所有特定元素的所有下标,可以结合这两个函数:
1. 使用`count()`获取元素出现的总次数,然后用这个次数减去1(因为`index()`从0开始计数),得到需要查找的元素个数。
2. 写一个循环,每次调用`index()`,传入目标元素,获取一次出现的索引,并将其添加到结果列表中,直到找不到该元素为止。由于`index()`会抛出`ValueError`如果元素不在列表里,所以需要处理这种异常。
下面是一个示例代码:
```python
def find_all_indices(lst, target):
count = lst.count(target)
indices = []
for _ in range(count - 1): # 要找count-1次,因为index()不会返回最后的位置
try:
indices.append(lst.index(target))
except ValueError:
break
return indices
# 示例
lst = [1, 2, 3, 2, 4, 2]
target = 2
all_indices = find_all_indices(lst, target)
print(f"{target}在列表中的所有下标是: {all_indices}")
```
阅读全文