python找到列表中找到所有符合条件的元素的索引号
时间: 2023-12-07 15:03:33 浏览: 17
可以使用enumerate()函数来获取每个元素的索引号,然后在循环中判断元素是否符合条件,如果符合条件则将索引号添加到一个新的列表中。以下是一个示例代码:
```
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
condition = lambda x: x % 2 == 0 # 找出所有偶数的索引号
result = [index for index, item in enumerate(lst) if condition(item)]
print(result) # 输出 [1, 3, 5, 7]
```
在示例代码中,使用lambda表达式定义了一个条件函数,该函数用来判断一个数是否为偶数。然后使用列表推导式来循环遍历列表中的每个元素,如果符合条件则将其索引号添加到结果列表中。最后输出结果列表。
相关问题
获取列表中目标的索引 python
你可以使用以下代码来获取列表中目标的索引:
```python
def get_target_index(nums, target):
index_map = {}
for i, num in enumerate(nums):
complement = target - num
if complement in index_map:
return [index_map[complement], i]
index_map[num] = i
return []
nums = [2, 7, 11, 15]
target = 9
result = get_target_index(nums, target)
print(result)
```
在这个例子中,`nums` 是输入的整数列表,`target` 是目标值。我们使用 `index_map` 字典来存储已经遍历过的元素以及它们的索引。对于每个元素 `num`,我们计算其补数 `complement`(即 `target - num`),然后检查 `complement` 是否已经在 `index_map` 中存在。如果存在,则说明找到了符合条件的两个元素,返回它们的索引编号。如果遍历结束后没有找到符合条件的两个元素,返回一个空列表。
在上面的例子中,输出将是 `[0, 1]`,表示在索引 0 和索引 1 处的元素相加等于目标值 9。你可以根据自己的需求调整输入的 `nums` 和 `target` 值。
python 找到numpy对应的某个值的索引
在Python中,可以使用NumPy的函数来找到某个值在数组中的索引。例如,假设有一个NumPy数组a:
a = np.array([2, 4, 6, 8, 10])
如果想要找到值为6的索引,可以使用以下代码:
idx = np.where(a == 6)
这将返回一个元组,其中包含索引的数组:
(array([2]),)
可以看到,值为6的索引是2。如果要找到第一个符合条件的值的索引,可以使用以下代码:
idx = np.argmax(a == 6)
这将返回2,因为6是数组中的第三个元素。如果要找到最后一个符合条件的值的索引,可以使用以下代码:
idx = np.where(a == 6)[-1][-1]
这将返回2,因为6是数组中的第三个元素。如果数组中没有指定的值,np.where将返回一个空元组,而np.argmax将返回0。