Python List 排序
admin
2023-07-14 14:24:07
0
import bisect

# insort等价于insort_right。
# 插入x,保持排序。如果x已经在List中存在,则在x的右侧插入。
# 如果List是降序,结果不正确,插入的x的位置可能是List的最左侧(x < 中点值)或最右侧(x >= 中点值)。
# bisect_right和bisect_left不会实际插入,返回将要插入的位置。

# CASE 1
print("CASE 1 ====================")
data = [13, 3, 9, 5, 11, 1]
# 降序排序data
data.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 2
print("CASE 2 ====================")
data = [13, 3, 9, 5, 11, 1]

# 降序排序data
data.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]

相关内容

热门资讯

特朗普:正致力于与伊朗达成协议... 特朗普在《纽约邮报》一档播客访谈节目中称,他正与伊朗磋商一项协议,伊朗已同意不再谋求拥有核武器。他表...
不接壤的日菲为何偷划海界? 日菲近日发表联合声明,宣称就“划定两国专属经济区和大陆架的海洋边界”启动正式谈判。两个隔海相望的国家...
凤凰晚报丨从钳工到老戏骨,魏宗... 今日人物【从钳工到老戏骨,魏宗万用一生诠释“戏比天大”】6月1日,表演艺术家魏宗万在上海逝世,享年8...
科威特称伊朗袭击致63人受伤 科威特卫生部门3日称,伊朗当天对科威特的袭击已造成63人受伤,相关部门已启动紧急应对预案,并在全国范...
日本标榜“和平国家”却行扩军备... 今年是东京审判开庭80周年,世界正回望历史、反思战争罪责、捍卫二战后来之不易的国际秩序之际,日本却迈...
浙江杨梅即将大规模上市,如何破... “我们现在的压力很大。”5月底,浙江余姚杨梅产区丈亭镇副镇长林宇站在一片杨梅林前对第一财经表示,当地...
致5死2伤!韩国就韩华航空航天... 【环球网报道 记者 姜蔼玲】据韩联社6月1日报道,针对位于韩国大田的韩华航空航天公司发生爆炸致7人伤...
黄河科技学院2026年招生简章 长按图片识别二维码或点击 “阅读原文” 查看电子招生简章。
医路起航,从“心” 开始!黄河... 6月1日上午,黄河科技学院附属医院2022级临床医学本科实习生入院岗前培训在大医讲堂顺利举办。院领导...
问题居然在实体卡槽上!美版iP... 6月2日消息,日前,又有博主提前把还没发布的iPhone 18 Pro电池参数给曝光了出来,根据爆料...