用python编写一个函数,接受一个列表参数和一个函数参数,返回该列表中所有满足函数条件的索引值。
时间: 2024-01-22 20:18:30 浏览: 166
可以尝试下面的代码实现:
```python
def find_indexes(lst, func):
"""
返回列表中所有满足函数条件的索引值
:param lst: 列表
:param func: 函数
:return: 索引列表
"""
indexes = []
for i, item in enumerate(lst):
if func(item):
indexes.append(i)
return indexes
```
其中,`enumerate`函数可以同时遍历列表中的元素和它们的索引值。我们将遍历到的元素传入函数中进行判断,如果满足条件则将其索引值加入到一个列表中并最终返回。可以这样使用:
```python
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 查找所有偶数的索引
even_indexes = find_indexes(lst, lambda x: x % 2 == 0)
print(even_indexes) # 输出 [1, 3, 5, 7, 9]
# 查找所有大于 5 的索引
large_indexes = find_indexes(lst, lambda x: x > 5)
print(large_indexes) # 输出 [5, 6, 7, 8, 9]
```
阅读全文