Python List 排序
import bisect# insort等价于insort_right。# 插入x,保持排序。如果x已经在List中存在,则在x的右侧插入。# 如果List是降序,结果不正确,插入的x的位置可能是List的最左侧(x < 中点值)或最右侧(x >= 中点值)。# bisect_right和bisect_left不会实际插入,返回将要插入的位置。# CASE 1print("CASE 1 ====================")data = [13, 3, 9, 5, 11, 1]# 降序排序datadata.sort(reverse=False)print(data)index = bisect.bisect_right(data, 5.0)print(index)bisect.insort(data, 5.0)print(data)index = bisect.bisect_right(data, 4.9)print(index)bisect.insort(data, 4.9)print(data)index = bisect.bisect_left(data, 3.0)print(index)bisect.insort_left(data, 3.0)print(data)# CASE 2print("CASE 2 ====================")data = [13, 3, 9, 5, 11, 1]# 降序排序datadata.sort(reverse=True)print(data)index = bisect.bisect_right(data, 5.0)print(index)bisect.insort(data, 5.0)print(data)index = bisect.bisect_right(data, 4.9)print(index)bisect.insort(data, 4.9)print(data)index = bisect.bisect_right(data, 3.0)print(index)bisect.insort_left(data, 3.0)print(data)
运行结果:
CASE 1 ====================[1, 3, 5, 9, 11, 13]3[1, 3, 5, 5.0, 9, 11, 13]2[1, 3, 4.9, 5, 5.0, 9, 11, 13]1[1, 3.0, 3, 4.9, 5, 5.0, 9, 11, 13]CASE 2 ====================[13, 11, 9, 5, 3, 1]6[13, 11, 9, 5, 3, 1, 5.0]0[4.9, 13, 11, 9, 5, 3, 1, 5.0]0[3.0, 4.9, 13, 11, 9, 5, 3, 1, 5.0]
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。