超级有用

通过将这些酷炫且有用的Python函数添加到您的编程工具箱中,超越了基础知识。

来源:KDnuggets
作者图片 |表意文字

作为开发人员,我们经常对常用的内置 Python 函数感到满意,甚至直接为重要的任务编写我们自己的函数。然而,Python 的标准库包含一些超级有用的函数,但这些函数经常被忽视。

在本文中,我们将研究一组未充分利用的 Python 函数,这些函数值得更多关注。让我们立即开始吧!

🔗 所有代码片段都在 GitHub 上。

1. 二等分

当你需要处理排序序列时,Python 的内置 bisect 模块非常有用。它提供了有效维护排序列表和快速查找插入点的功能。

二等分模块

在此示例中,我们编写了一个实用的成绩跟踪系统,该系统显示了 bisect 的三个关键用途:

    查找插入点、维护排序列表并创建坡度边界。
  • 查找插入点,
  • 维护排序列表,以及
  • 创建坡度边界。
  • from bisect import bisect_left, bisect_right, insort
    
    # 让我们创建一个成绩跟踪系统
    成绩 = [60, 70, 75, 85, 90, 95]
    
    # 查找插入新成绩的位置,同时保持列表排序
    新等级 = 82
    位置 = bisect_left(成绩, new_grade)
    print(f"在位置:{position}插入82")
    
    # 插入时保持排序顺序
    insort(成绩,新成绩)
    print(f"插入后成绩:{grades}")
    
    # 查找成绩范围
    def Grade_to_letter(分数):
        断点 = [60, 70, 80, 90] # F, D, C, B, A
        成绩 = 'FDCBA'
        位置 = bisect_right(断点, 分数)
        返回成绩[位置]
    
    print(f"分数 82 获得成绩:{grade_to_letter(82)}")
    print(f"分数 75 获得成绩:{grade_to_letter(75)}")

    输出:

    在位置:3 处插入 82
    插入后的成绩:[60, 70, 75, 82, 85, 90, 95]
    82分获得等级:B
    得分 75 获得等级:C

    这对于传统方法需要多次比较的用例特别有效。

    2. itertools.pairwise

    成对
    温度变化:[3, 1, 1, -2, -1, -2]

    您还可以计算移动平均线: