查询数组内元素或索引
import numpy as np
def Where_Array(my_list, num, sign=True, method=True):
"""
默认是在数组中筛选符合要求的元素并打印出其索引
:param my_list: 传入的列表
:param num: 数组中大于或小于的数
:param sign: 大于小于号(默认为大于号)
:param method: 选择此函数实现的内容(默认实现输出一个新数组)
- 默认情况: np.where(your_array > num, your_array, your_array + 10)
代表数组中的元素若大于 num那么将以 your_array显示, 否则以 your_array + 10显示
- 非默认情况: np.where(your_array > num)
代表将查询数组中的元素大于 num的索引值并输出
:return: []
"""
your_array = np.array(my_list)
if method is True:
if sign is True:
return np.where(your_array > num, your_array, your_array + 10)
elif sign is False:
return np.where(your_array < num, your_array, your_array + 10)
elif method is False:
if sign is True:
# np.where(your_array > num) 的类型如下
# (array([1, 2], dtype=int64),)
return np.where(your_array > num)[0]
elif sign is False:
return np.where(your_array < num)[0]
print(Where_Array([5, 6, 7, 1, 2, 3], 5, sign=True, method=True)) # [15 6 7 11 12 13]
print(Where_Array([5, 6, 7, 1, 2, 3], 5, sign=True, method=False)) # [1 2]