分享Python中四个不常见的小技巧

Alice
Alice
发布时间:2026-10-15 | 5人浏览过
原创

本文介绍了四个Python日常开发中较少使用但实用的技巧。包括利用heapq模块高效获取列表中的n个最大或最小数字,使用removeprefix方法快速截取字符串特定前缀,以及通过dict.fromkeys保持原序删除列表中重复元素的方法。这些技巧有助于提升代码简洁性与执行效率。

1. 引言

在编程领域,追求写出高质量的代码是每位开发者的目标。通过不断总结与练习,可以有效提升编程技能。本文将简明介绍四个在Python日常使用中不常见但非常实用的技巧,旨在帮助读者提高编码效率。接下来直接开始介绍。

2. 获取 n 个最大数字

通常情况下,获取列表中的最大值我们会使用​max​函数,

示例如下:

max([15, 21, 30, 20])
# ouput: 30

但如果需要获取列表中前n个最大的数字,除了构建大顶堆数据结构外,Python提供了一个名为​heapq​的模块,可以非常便捷地实现这一功能。

具体用法如下:

import heapq
heap = [10, 5, 18, 1, 100]
# heapq.nlargest(n, iterable)
n_largest_numbers = heapq.nlargest(3, heap)

# show result
print(n_largest_numbers)

运行结果如下:

[100, 18, 10]

3. 获取 n 个最小数字

正如我们对​max​函数的了解,​min​函数用于获取最小值。

min([15, 21, 30, 20])
# ouput: 15

类似地,利用小顶堆可以方便地获取n个最小数字,示例如下:

import heapq
heap = [10, 5, 18, 1, 100, 8, 7]
# heapq.nsmallest(n, iterable)
n_smallest_numbers = heapq.nsmallest(4, heap)
# show result
print(n_smallest_numbers)

输出结果如下:

[1, 5, 7, 8]

4. 删除字符串的特定部分

假设我们有一个字符串​+-+-+Python​,如果只需要提取其中的​Python​部分,可以使用Python字符串模块提供的​removeprefix​函数来实现。

示例代码如下:

myString = "+-+-+Python"
new_string = myString.removeprefix("+-+-+")
# show result
print(new_string)

输出结果如下:

Python

5. 从列表中删除重复元素

为了去除列表中的重复元素,常见的做法是转换为集合,如下所示:

li = [10, 15, 10, 10, 5, 5]
without_duplicates = list(set(li))
print(without_duplicates)

输出结果如下:

[10, 5, 15]

然而,上述方法输出的顺序与原列表不一致。为了保持原有顺序,推荐第二种实现方式:

li = [10, 15, 10, 10, 5, 5]
without_duplicates = dict.fromkeys(li)
print(list(without_duplicates))

输出结果如下:

[10, 15, 5]

6. 总结

掌握这些Python技巧有助于编写更高效的代码。本文介绍了四个实用小技巧,希望能帮助读者在实际开发中解决相关问题。希望大家通过阅读有所收获。

到此这篇关于分享Python中四个不常见的小技巧的文章就介绍到这了,更多相关Python不常见技巧内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表