查询数组内元素或索引


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]