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

 更新时间:2022年08月01日 11:29:17   作者:sgzqc​​​​​​​  
这篇文章主要介绍了分享Python中四个不常见的小技巧,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

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个最大数字,所以我们也可以通过小顶堆来获取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实现八大排序算法

    Python实现八大排序算法

    这篇文章主要介绍了Python实现八大排序算法,如何用Python实现八大排序算法,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • python3解析库BeautifulSoup4的安装配置与基本用法

    python3解析库BeautifulSoup4的安装配置与基本用法

    简单来说,BeautifulSoup就是Python的一个HTML或XML的解析库,我们可以用它来方便地从网页中提取数据,下面这篇文章主要给大家介绍了关于python3解析库BeautifulSoup4的安装配置与基本用法的相关资料,需要的朋友可以参考下
    2018-06-06
  • python查询文件夹下excel的sheet名代码实例

    python查询文件夹下excel的sheet名代码实例

    这篇文章主要介绍了python查询文件夹下excel的sheet名方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Python+Opencv识别两张相似图片

    Python+Opencv识别两张相似图片

    python的功能实在太强大,这篇文章主要介绍了Python+Opencv识别两张相似图片的相关资料,文中利用Opencv库进行了更简洁化的实现,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • 浅谈numpy数组的几种排序方式

    浅谈numpy数组的几种排序方式

    这篇文章主要介绍了浅谈numpy数组的几种排序方式,涉及对numpy的简单介绍和创建数组的方式,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Python如何使用logging为Flask增加logid

    Python如何使用logging为Flask增加logid

    这篇文章主要介绍了Python如何使用logging为Flask增加logid,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • 基于Python实现语音识别功能

    基于Python实现语音识别功能

    这篇文章给大家介绍了如何基于Python实现语音识别功能,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,具有一定的参考价值,需要的朋友可以参考下
    2023-12-12
  • python发送邮件脚本

    python发送邮件脚本

    这篇文章主要为大家详细介绍了发送邮件python脚本,支持多个附件,中文,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Pycharm学习教程(4) Python解释器的相关配置

    Pycharm学习教程(4) Python解释器的相关配置

    这篇文章主要为大家详细介绍了最全的Pycharm学习教程第四篇,Python解释器配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)

    Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.

    这篇文章主要介绍了Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程(显卡MX250+CUDA9.0+cudnn),本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02

最新评论