python如何返回包含相同元素的列表中元素的索引
时间: 2023-12-02 08:03:30 浏览: 41
如果你想返回包含相同元素的列表中所有素的索引,可以使用列表推导来实现。以下示例:
```python
def find_indexes(lst, element):
return [i for i, value in enumerate(lst) if value == element]
my = [1, 2, , 2, 4 2, 5]
element =
indexes = find_indexes(my_list, element)
print(indexes)
```
输出:
```
[1, 3, 5]
```
在这个示例中,`find_indexes()` 函数接受一个列表 `lst` 和一个元素 `element`,并返回包含所有匹配元素的索引的列表。列表推导式 `[i for i, value in enumerate(lst) if value == element]` 遍历列表 `lst` 中的每个元素,如果元素等于 `element`,则将索引 `i` 添加到结果列表中。
我们使用 `[1, 2, 3, 2, 4, 2, 5]` 这个列表和 `2` 这个元素进行示例调用,并将返回的索引列表 `[1, 3, 5]` 打印出来。
相关问题
python找出列表中所以相同元素的索引
在 Python 中可以使用 `enumerate()` 函数来找出列表中所有相同元素的索引。`enumerate()` 函数返回的是一个包含元素索引和元素值的元组,可以在循环中使用。示例如下:
```python
my_list = ['a', 'b', 'c', 'a', 'd', 'e', 'a']
indices = {}
for index, item in enumerate(my_list):
if item in indices:
indices[item].append(index)
else:
indices[item] = [index]
print(indices)
```
输出结果是:
```
{'a': [0, 3, 6], 'b': [1], 'c': [2], 'd': [4], 'e': [5]}
```
可以看到字典中的键就是列表中的元素,对应的值是索引列表,代表该元素在列表中出现的位置。
python中如何获取列表中几个重复元素的索引
如果你想要获取列表中某个元素在列表中的所有索引,可以使用列表推导式来实现。具体来说,可以遍历列表中的每个元素,如果该元素与目标元素相同,则将其索引添加到新列表中。示例如下:
```python
lst = [1, 2, 3, 2, 4, 2, 5]
target = 2
indices = [i for i, x in enumerate(lst) if x == target]
print(indices) # 输出 [1, 3, 5]
```
上述代码中,我们定义了一个列表 lst,其中包含了多个重复的元素。我们想要获取其中值为 2 的元素在列表中的所有索引,因此我们使用了列表推导式,在遍历列表时检查每个元素是否等于目标值,如果相等,则将其索引添加到新列表中。最终,我们输出了新列表,其中包含了所有匹配元素的索引。