赞
踩
本文针对的是有序的python列表的操作,并且默认是升序的列表。如果你的是降序,只需要逆置列表即可。
import bisect
a=[1,2,2,3]#升序列表。
bisect.insort(a,4)
bisect.bisect_left(a,2)
1
bisect.bisect_right(a,2)
3
bisect_left()函数的输出是num在list中最左面值的数组下标,bisect_right的输出为最右面的数组下标+1
如果这个值没有在有序列表中,那么返回的是其应当插入的位置。
a=[1,2,2,6]
bisect.bisect_left(a,3)
4
没想到Numpy也可以实现,如下:
import numpy as np#需要安装这个包,这个包是数据分析里面常用的。
a=[1,2,4,5]
np.searchsorted(a,2)
其返回的是插入位置,最左边的那个位置。
没想到pytorch也可以实现,如下:
import torch#需要安装这个包,这个包是深度学习里面常用的。
a=torch.tensor([1,2,4,5])
torch.searchsorted(a,2)
可以看到,其和Numpy是一模一样的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。