本文主要是介绍python的 sorted 、list.sort、bisect模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
"""
sorted 和 list.sort
"""init_list = [2,7,4,1]new_list = sorted(init_list)
print(init_list) # sorted 函数,返回一个新列表
print(new_list)value_a = init_list.sort() # list.sort() 改变原列表,并且返回None
print(value_a)
print(init_list)"""
接下来看一个有趣的模块,bisect
参考 https://www.cnblogs.com/skydesign/archive/2011/09/02/2163592.htmlbisect 用于在 有序、已排列过的序列中
向其中插入值、或判断如果插入,插入的位置。"""import bisect
# 刚刚的list ---> new_list [1, 2, 4, 7]
# 向new_list 插入5 这个值,此方法
value_b = bisect.insort(new_list,5)
print(value_b)
print(new_list)
"""
细心的朋友会发现,此方法返回的也是None,改变原来的列表,并不会新创建一个
None 其实是python的一个惯例,好让调用者知道传入的参数发生了变动
"""# 此方法是,如果传入的值插入列表中,那么将插入到index的位置,并将index返回
# 说如果,是因为没有真正的插入
# 其目的在于查找该数值将会插入的位置并返回,而不会插入。
index = bisect.bisect(new_list,10)
print(index)
print(new_list)# 接着看 bisect_left 和 bisect_right 函数,该函数用入处理将会插入重复数值的情况,返回将会插入的位置
#
index = bisect.bisect_left(new_list,1)
print(index)
index = bisect.bisect_right(new_list,1)
print(index)# insort_left 和 insort_right 同理,这里就不细说了
这篇关于python的 sorted 、list.sort、bisect模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!