PythonList排序
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)
运行结果:
创新互联是一家专注于网站制作、成都网站制作与策划设计,翁牛特网站建设哪家好?创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:翁牛特等地区。翁牛特做网站价格咨询:028-86922220
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]
分享文章:PythonList排序
文章分享:http://pwwzsj.com/article/ppjopj.html