网站搜索

莱文斯坦距离:全面指南

介绍

在自然语言处理(NLP)的世界中,比较和理解两个字符串之间的相似性是一项基本任务。无论是纠正拼写错误、检测抄袭、匹配名字,还是评估机器生成的文本,能够衡量两个字符串之间的“接近”程度,可以显著提高基于语言的应用程序的性能。

最著名和广泛使用的字符串相似度度量之一是Levenshtein编辑距离。该算法用于识别两个字符串之间的相似度。通常称为编辑距离

阅读更多 →

Python lambda 表达式及示例解析

介绍

Python中的lambda表达式是一个用lambda关键字定义的内联匿名函数,理想用于作为参数传递的短小一行操作,特别是对于map、filter和sorted等高阶函数。使用lambda可以实现简洁的逻辑,但在可读性或可重用性重要时,请改用def。

这种简洁的语法对

阅读更多 →

如何在Python中使用优先队列

介绍

优先队列是一种数据结构,用于存储具有指定优先级的元素,并允许您高效地检索优先级最高(或最低)的元素。在 Python 中,有几种实现优先队列的选项:

  • 《heapq》模块提供了一个快速且内存高效的最小堆优先队列实现
  • 对于线程安全的应用,queue.PriorityQueue 类提供了一个围绕 heapq 的同步包装器
  • 阅读更多 →

6个基本但实用的Python脚本帮助你入门

Python 是最容易学习的编程语言之一,这要归功于它面向对象的优先方法和简洁的语法。标准库包含许多有用的模块,您可以使用它们编写各种大小的程序。

这里的脚本都很小,专注于一个有用的任务。你不仅可以将它们用于日常活动,还可以在此基础上进行扩展,以增加额外的功能。

1. 批量文件重命名工具

重命名一组文件可能是一项具有挑战性的任务。如果你能记住你的 shell 语法,你可以即时编写命令,或者你可以依赖像 rename 这样的第三方程序。

这个简单的Python程序会重命名您当前目录中包含特定文本的所有文件,将该文本替换为给定的模式。例如,您可以使用它将一组扩展名从“.htm”更改为“.html。”

import os, sys if len(sys.argv) < 3:     sys.exit("usage: " + sys.argv[0] + " search replace") for filename in os.listdir("."):     new_filename = filename.replace(sys.argv[1]

阅读更多 →

这段Python代码可以帮助你避免在下一个笔记本电脑上花费过多。

如果你在考虑买一台新笔记本电脑,你可能会想知道该花多少钱。你可以浏览网站,但一些Python代码和一点线性回归可以让这项工作变得更简单。

为什么要建立一个笔记本电脑价格预测器?

你可以浏览数千个页面,逛遍实体店,但这会耗费很多时间。我喜欢电脑,但我没有时间或兴趣去做这项工作。我还有其他事情更想做。我希望有一个程序,可以让我输入规格,比如我想要多少RAM或所需的屏幕分辨率,然后它能给出一个价格。

市场上有这么多机器,以至于我手动计算所有这些信息会很困难。我还觉得与其他可能在寻找新笔记本电脑的人分享这些信息可能会有所帮助。谁想为一台机器支付过高的价格?我不想,我猜你也可能不想。

凭借我在统计学中学到的线性回归知识,我意识到我可以轻松建立一个模型来回答这些问题。Python是一种很好的编程语言,我已经对它有了一些基本的了解。由于Python简单易学,即使没有计算机科学背景的人也能上手,因此它在数据分析中变得非常受欢迎,同时还提供了强大的库来分析数据。

组装Python统计工具包

在这个项目中,我使用了我已经熟悉的Python统计生态系统的部分组件。

我已经设置了一个包含这些工具

阅读更多 →

Python中的列表:你需要知道的一切

文档对于初学者并不友好,教程常常留有空白。学习 Python 可能会让人感到不知所措,因此你并不孤单。为了解决这个问题,我准备了一份简明扼要、毫不含糊的指南,可以在不到 30 分钟的时间内迅速提升你对 Python 列表的技能!

列表是一个项目的序列,它们在内存中并排存在,就像一张纸上的购物清单。列表还提供操作(称为方法),允许您对其执行操作。例如,要向列表中添加一个项目,请使用 my_shopping_list.append('milk')。有许多方法,我们将在后续内容中涵盖大多数重要的方法。

列表基础:创建和访问项目
创建一个列表

要创建一个列表,只需将方括号赋值给一个变量:

my_shopping_list = []

您可以用预定义的项初始化列表:

my_shopping_list = ["milk", "bread", "sugar"]

你可以在列表中存储不同类型的数据,甚至是其他

阅读更多 →

为什么 IPython 比标准 Python 解释器更好

Python 最好的特性之一是它的交互式解释器,可以让你快速测试代码。那么,如果有比 Python 自带的解释器更好的东西呢?确实有,它被称为 IPython。

什么是IPython?

IPython是标准Python解释器的一个替代交互式解释器,随语言一起提供。

标准解释器对于测试小代码片段和学习语言是非常有用的,但其功能是基本的。IPython 添加了许多功能,这些功能对于那些更广泛使用交互式 Python 的人特别有用。这包括那些用于数据科学和数据分析的人。它包括许多我稍后将提到的功能,比如语法高亮和魔法命令。IPython 增加了许多便利功能,使交互式 Python 更加容易,即使你只是在用 Python 做一个桌面计算器。

IPy

阅读更多 →

Python 类示例

在这里,一些相关的Python类被用来开发基于文本的“蛋糕店应用程序”。

项目特点
  • 显示商店的蛋糕清单及详细信息
  • 将一个或多个蛋糕添加到购物车以进行购买
  • 从购物车中移除一个或多个蛋糕
  • 确认订单
  • 取消订单
  • 关闭程序

先决条件

  • 需要安装 Python 3.8 及以上版本的操作系统才能开始项目工作。
  • 要正确理解本教程中使用的脚本,需要掌握Python面向对象编程的基本知识。
“蛋糕店应用程序”的实施

将使用三个类来实现此应用程序的功能。这些是“商店”、“订单”和“客户”。“商店”类是父类,将用于显示应用程序的主菜单、显示商店的蛋糕列表,以及检查用户所选的蛋糕是否存在于商店中。“订单”类

阅读更多 →

Python 没有这样的文件或目录

本教程将讨论此类错误发生的各种情况、可能的原因以及解决方案。

Python 文件未找到错误: [Errno 2] 没有这样的文件或目录

检查这种类型错误的最佳方法是查看错误消息的第一个块。

任何以 FileNotFoundError 块开头的错误意味着 Python 无法找到指定的文件。

这迫使Python终止,因为它无法在不访问指定文件的情况下处理前面的代码。

这是一个由操作系统模块引发的内置异常,当请求的文件或目录不存在时会被触发。你也可以手动引发这个错误,但那是另一个话题。

注意:在诸如创建新文件或向不存在的文件写入内容等操作中,不会出现此错误。

让我们举一个会引发 FileNotFoundError 的示例代码。

from os import listdir for f in listdir('/non_existing_dir'):

    print(f)

在上面的例子中,我们首先从 os 模块导入 listdir 函数。接下来,我们打印 listdir() 函数指定目

阅读更多 →

Python退出代码

既然这些都处理完了,让我们来探索一下Python的退出代码,它们是如何工作的,以及你如何在程序中使用它们。

Python标准退出代码

Python只有两个标准代码,即1和0。退出代码0意味着进程已成功执行并退出。这意味着没有遇到错误。另一方面,错误代码1表示进程以失败退出。让我们来看一个非常简单的程序,它只是打印字符串“欢迎来到linux-console!”。

如你所猜,如果我们运行上述程序,它将成功执行。

python exit_codes.py welcome to linux-console!

我们可以看到该程序确实返回了所需的输出。在 Unix 系统中,我们可以使用 echo 命令后跟环境变量 ?。这个环境变量允许你获取最后执行命令的退出代码。

在我们的案例中,最后一个命令是Python程序:

echo $? 0

请注意,上面的命令返回了0。这表明我们的Python程序成功执行。

阅读更多 →