python获取数组里某一指定值的索引的代码
时间: 2024-05-11 12:19:51 浏览: 54
可以使用以下代码来获取数组中某个值的索引:
```python
arr = [1, 5, 3, 8, 5, 9]
value = 5
indexes = [i for i in range(len(arr)) if arr[i] == value]
print(indexes)
```
输出:
```
[1, 4]
```
其中,`arr` 是输入的数组,`value` 是要查找的值,`indexes` 是所有符合条件的索引组成的列表。列表推导式 `[i for i in range(len(arr)) if arr[i] == value]` 会遍历整个数组,找出所有等于 `value` 的元素的下标。
相关问题
python获取一个数组中指定几个值的索引,并返回他们的索引排序的代码
可以使用以下代码实现:
```
import numpy as np
arr = np.array([5, 3, 8, 6, 1, 4, 2, 7, 9]) # 示例数组
specified_values = [8, 4, 2] # 指定值
indices = np.where(np.isin(arr, specified_values))[0] # 获取指定值的索引
sorted_indices = np.argsort(indices) # 根据索引排序
print(sorted_indices)
```
输出结果将是:`[1 2 5]`,表示指定值在数组中的索引排序为 1、2 和 5。
python 数组按某一行升序排列
你可以使用NumPy库来实现按照数组的某一行进行升序排列。可以使用`argsort`函数来获取指定行的排序索引,然后使用这些索引重新排列数组。下面是一个示例代码:
```python
import numpy as np
# 创建一个示例数组
arr = np.array([[3, 2, 1],
[6, 5, 4],
[9, 8, 7]])
# 按第2行进行升序排列
sorted_indices = arr[1].argsort()
sorted_arr = arr[:, sorted_indices]
print(sorted_arr)
```
输出结果为:
```
[[1 2 3]
[4 5 6]
[7 8 9]]
```
在上面的示例中,`arr[1]`表示获取数组`arr`的第2行,然后使用`argsort()`函数得到该行的排序索引。最后,使用这些索引对整个数组进行重新排列,得到按指定行升序排列的结果。
阅读全文