查找数组
pip install numpy -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
import numpy as np
def Find_Array(my_list, your_index=None, your_index_s=None, index_s_=0):
"""
用于查找数组中的位次元素(例如第二大的元素and第二小的元素)
:param my_list: 传入的数组对象
:param your_index:第 2大的元素(负数,your_index==-2),第 3小的元素(正数,your_index==2)
e.g. 传递的列表对象 my_list --> 通过 np.array 方法处理变成一个数组对象
--> 通过 np.argpartition 方法处理生成相应元素的索引 index --> 通过当前索引获取当前元素
:param your_index_s:单次查找多个元素(默认取0)
:param index_s_:单次查找多个元素其中的单个索引
:return:int
"""
if your_index_s is None:
if your_index is None:
return False
else:
your_array = np.array(my_list)
index = np.argpartition(your_array, your_index)[your_index]
return your_array[index]
elif your_index_s is not None:
your_array = np.array(my_list)
index = np.argpartition(your_array, your_index_s)[index_s_]
return your_array[index]
def Find_Array_Test():
print(Find_Array([11, 66, 435, 547, 3245], 2))
print(Find_Array([11, 66, 435, 547, 3245], -2))
print(Find_Array([11, 66, 435, 547, 3245], your_index_s=[-1, -3], index_s_=-3))
print(Find_Array([11, 66, 435, 547, 3245], your_index=-3))
Find_Array_Test()