python 那些年没用过的库方法

1、heapq模块中的两个函数——nlargest()和nsmallest()

这两个函数可以帮助我们在某个集合中找出最大或最小的N个元素。例如:

>>> import heapq
>>> nums=[1,8,2,23,7,-4,18,23,42,37,2]
>>> print(heapq.nlargest(3,nums))
[42, 37, 23]
>>> print(heapq.nsmallest(3,nums))
[-4, 1, 2]

heapq默认小根堆,操作如下

hp  = [i for i in range(10)]
heapq.heapify(hp)
heapq.heappop(hp)
heapq.heappush(hp,11])

 

2、zip和zip_longest

zip 函数接受的是 一系列可迭代对象,数组、元祖、字典、字符串都可以,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一致,则返回列表的长度 取决于最短的对象,而zip_longest返回列表长度取决于最长的对象相同,缺失值的部分可以用fillvalue 参数来填充

 for v1, v2 in zip_longest(version1.split('.'), version2.split('.'), fillvalue=0):

 

posted @ 2021-09-03 00:35  r1-12king  阅读(68)  评论(0编辑  收藏  举报