当前位置:  开发笔记 > 编程语言 > 正文

Python模块函数以意想不到的方式使用

如何解决《Python模块函数以意想不到的方式使用》经验,为你挑选了1个好方法。

基于"在Python中用空格分割字符串",它使用shlex.split智能地分割带引号的字符串,我将有兴趣听到非显而易见的标准库函数解决的其他常见任务.

如果这变成了本周的模块,那也没关系.



1> elifiner..:

我很惊讶地发现你可以使用bisect模块在序列中进行非常快速的二进制搜索.它的文档没有说明任何事情:

此模块支持按排序顺序维护列表,而无需在每次插入后对列表进行排序.

用法很简单:

>>> import bisect
>>> lst = [4, 7, 10, 23, 25, 100, 103, 201, 333]
>>> bisect.bisect_left(lst, 23)
3

但是你必须要记住,在列表中逐个线性地查找某些内容,而不是对列表进行排序,然后对其进行二进制搜索.第一个选项是O(n),第二个选项是O(nlogn).

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有