写一个用python找到数组[1,2,0,0,4,0]中非0元素的位置索引的程序
时间: 2023-06-08 14:04:07 浏览: 107
好的,这是一个比较简单的问题,你可以使用 Python 自带的 enumerate 函数来实现:
```python
nums = [1, 2, 0, 0, 4, 0] # 待查找的数组
# 使用 enumerate 函数遍历数组,找到非0元素的索引
non_zero_indices = [i for i, x in enumerate(nums) if x != 0]
print(non_zero_indices)
```
输出结果如下:
```
[0, 1, 4]
```
上述代码中,我们遍历数组 nums,使用 enumerate 函数获取每个元素的索引 i 和元素值 x。如果 x 不为 0,则将 i 添加到 non_zero_indices 列表中。最后,我们可以打印 non_zero_indices 列表,即非零元素的索引。
相关问题
python找到数组[1,2,4,0,8,0,6,5]中非0元素的位置索引。
可以使用列表推导式来找到非零元素的位置索引:
```python
arr = [1, 2, 4, 0, 8, 0, 6, 5]
non_zero_indices = [i for i in range(len(arr)) if arr[i] != 0]
print(non_zero_indices)
```
输出结果为:
```
[0, 1, 2, 4, 6, 7]
```
其中 `[i for i in range(len(arr)) if arr[i] != 0]` 表示对于 `arr` 中的每个下标 `i`,如果 `arr[i]` 不等于 0,则将 `i` 加入到列表中。
numpy找到数组[1,2,4,0,8,0,6,5]中非0元素的位置索引
可以通过numpy的`nonzero`函数来找到非0元素的位置索引,代码如下:
```python
import numpy as np
arr = np.array([1, 2, 4, 0, 8, 0, 6, 5])
nonzero_idx = np.nonzero(arr)[0]
print(nonzero_idx)
```
输出结果为:
```
[0 1 2 4 6 7]
```
其中,`nonzero`函数返回的是一个元组,包含了非零元素的位置索引,因此需要取出第一个元素。