Python:(从列表中)找到与另一个字符串最接近的字符串

2023-12-01

假设我有一个string "Hello"和一个清单

words = ['hello', 'Hallo', 'hi', 'house', 'key', 'screen', 'hallo','question', 'Hallo', 'format']

我怎样才能找到n words那些最接近"Hello"并出现在列表中words ?

在这种情况下,我们会有['hello', 'hallo', 'Hallo', 'hi', 'format'...]

因此,策略是将列表单词从最近的单词到最远的单词​​排序。

我想到了这样的事情

word = 'Hello'
for i, item in enumerate(words):
    if lower(item) > lower(word):
      ...

但在大型列表中它非常慢。

UPDATE difflib可以工作,但也很慢。 (words list里面有 630000 多个单词(已排序,每行一个))。因此,每次搜索最接近的单词时,检查列表需要 5 到 7 秒!


Use difflib.get_close_matches.

>>> words = ['hello', 'Hallo', 'hi', 'house', 'key', 'screen', 'hallo', 'question', 'format']
>>> difflib.get_close_matches('Hello', words)
['hello', 'Hallo', 'hallo']

请查看文档,因为该函数默认返回 3 个或更少的最接近的匹配项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:(从列表中)找到与另一个字符串最接近的字符串 的相关文章

  • pandas DataFrame.join 的运行时间是多少(大“O”顺序)?

    这个问题更具概念性 理论性 与非常大的数据集的运行时间有关 所以我很抱歉没有一个最小的例子来展示 我有一堆来自两个不同传感器的数据帧 我需要最终将它们连接成两个very来自两个不同传感器的大数据帧 df snsr1 and df snsr2
  • 使用主题交换运行多个 Celery 任务

    我正在用 Celery 替换一些自制代码 但很难复制当前的行为 我期望的行为如下 创建新用户时 应向tasks与交换user created路由键 该消息应该触发两个 Celery 任务 即send user activate email
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • 为什么 web2py 在启动时崩溃?

    我正在尝试让 web2py 在 Ubuntu 机器上运行 所有文档似乎都表明要在 nix 系统上运行它 您需要下载源代码并执行以下操作 蟒蛇 web2py py 我抓住了source http www web2py com examples
  • Haskell:从后面访问列表

    今天我开始学习Haskell 我对函数式语言有点陌生 而且我非常喜欢 Haskell 然而 我有一个关于它的设计的问题困扰着我 从我到目前为止的理解来看 访问列表后面的元素似乎比访问前面的元素要复杂得多 类似于xs x where xs a
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • 打印数字时添加千位分隔符[重复]

    这个问题在这里已经有答案了 我真的不知道这个问题的 名称 所以它可能是一个不正确的标题 但问题很简单 如果我有一个数字 例如 number 23543 second 68471243 我想要它使print 像这样 23 54368 471
  • 如何使用 Selenium 和 ChromeDriver 解决 TypeError: 'module' object is not callable 错误 [重复]

    这个问题在这里已经有答案了 代码试验 from selenium import webdriver from selenium webdriver chrome options import Options as Chromeoptions
  • 使用 Python Oauthlib 通过服务帐户验证 Google API

    我不想使用适用于 Python 的 Google API 客户端库 但仍想使用 Python 访问 Google APIOauthlib https github com idan oauthlib 创建服务帐户后谷歌开发者控制台 http
  • 导入错误:没有名为flask.ext.login的模块

    我的flask login 模块有问题 我已经成功安装了flask login模块 另外 从命令提示符我可以轻松运行此脚本 不会出现错误 Python 2 7 r27 82525 Jul 4 2010 07 43 08 MSC v 1500
  • 无法导入 langchain.agents.load_tools

    我正在尝试使用 LangChain Agents 但无法导入 load tools 版本 langchain 0 0 27 我尝试过这些 from langchain agents import initialize agent from
  • 通过Python连接到Bigquery:ProjectId和DatasetId必须非空

    我编写了以下脚本来通过 SDK 将 Big Query 连接到 Python 如下所示 from google cloud import bigquery client bigquery Client project My First Pr
  • 当字段是数字时怎么说...在 mongodb 中匹配?

    所以我的结果中有一个名为 城市 的字段 结果已损坏 有时它是一个实际名称 有时它是一个数字 以下代码显示所有记录 db zips aggregate project city substr city 0 1 sort city 1 我需要修
  • pandas - 包含时间序列数据的堆积条形图

    我正在尝试使用时间序列数据在 pandas 中创建堆积条形图 DATE TYPE VOL 0 2010 01 01 Heavy 932 612903 1 2010 01 01 Light 370 612903 2 2010 01 01 Me
  • 找到一个数字所属的一组范围

    我有一个 200k 行的数字范围列表 例如开始位置 停止位置 该列表包括除了非重叠的重叠之外的所有类型的重叠 列表看起来像这样 3 5 10 30 15 25 5 15 25 35 我需要找到给定数字所属的范围 并对 100k 个数字重复该
  • python 中的“槽包装器”是什么?

    object dict 和其他地方的隐藏方法设置为这样的
  • 制作一份 Python 文档的 PDF 文件

    Python 官方网站提供 PDF 文档下载 但它们是按章节分隔的 我下载了源代码并构建了 PDF 文档 这些文档也是单独的 PDF 我怎么能够从源代码中的 Makefile 构建一个 PDF 文件 我认为这样阅读起来会更方便 如果连接单独
  • 等待子进程使用 os.system

    我用了很多os system在 for 循环内调用创建后台进程 如何等待所有后台进程结束 os wait告诉我没有子进程 ps 我使用的是Solaris 这是我的代码 usr bin python import subprocess imp
  • 如何在 Flask 中的视图函数/会话之间传递复杂对象

    我正在编写一个 Web 应用程序 当 且仅当 用户登录时 该应用程序从第三方服务器接收大量数据 这些数据被解析为自定义对象并存储在list 现在 用户在应用程序中使用这些数据 调用不同的视图 例如发送不同的请求 我不确定什么是最好的模式在视
  • 如何将Python3设置为Mac上的默认Python版本?

    有没有办法将 Python 3 8 3 设置为 macOS Catalina 版本 10 15 2 上的默认 Python 版本 我已经完成的步骤 看看它安装在哪里 ls l usr local bin python 我得到的输出是这样的

随机推荐

  • Python 使用 JOSE 模块解码 jwt 令牌

    请帮我解码这个 jwt使用 python jose 模块 我不知道什么key我应该用 因为任何在线 jwt 解码器都可以在没有任何密钥的情况下解码它 token eyJhbGciOiJSUzI1NiIsImtpZCI6ImVlYTFiMWY
  • Javascript 检查数组是否存在特定数字

    我在这里搜索了很多问题 但还没有找到一个我认为适合我的问题 所以如果您知道一个问题 请链接到它 我有一个数组 我想在其中搜索特定的数字 如果该数字在数组中 那么我想采取一个操作 如果没有 则采取另一个操作 我有这样的东西 var Array
  • ng-content 中带有选择器的条件重复 templateref

    我有一个根据客户端设备大小切换组件模板的组件 组件代码为 import Component from angular core import BreakpointObserver Breakpoints from angular cdk l
  • SparkJava 变量范围

    我正在开发一个 SparkJava 不是 Apache Spark 应用程序 我想在前置过滤器和后置路由之间共享一个对象 过滤器和路由在不同的类中定义 我不愿意继续使用会话 因为它是一个移动应用程序 json api 从理论上讲 它应该是无
  • 如何使用单个命令删除clearcase分支?

    我不小心创建了一个配置规范错误的分支 并且在其中进行了本不该完成的合并 有没有一种方法可以用一个且唯一的命令来删除这个分支 就像它从未存在过一样 分支中没有检出文件 我可以检查所有文件并手动执行 因为只有 3 个文件被合并 但如果有 300
  • 在 Win32 发布模式下查看 VC++ 2010 中准确反汇编的最佳方法是什么?

    我正在编写汇编级优化代码 我需要确保 C 编译器在发布模式下正确使用它 我曾经能够让发布模式程序在 VS 2002 中的断点上中断 并在我逐步执行它时显示原始反汇编 但我不记得如何让它工作 VS 2010 是否有任何选项可能允许这种情况发生
  • 在php中打开com端口

    我有一个 USB 3G 调制解调器华为 E1550 和 Windows XP 我想用这个调制解调器 trhow php 发送短信 我使用此函数打开调制解调器 com 端口 fp fopen COM3 wb if fp echo Not op
  • 通过在一个热编码数据上训练的模型来预测新值

    这可能看起来是一个微不足道的问题 但我陷入了预测模型结果的困境 我的问题是这样的 我有一个形状为 1000 x 19 的数据集 目标特征除外 但经过一次热编码后 它变成了 1000 x 141 由于我在形状为 1000 x 141 的数据上
  • JavaScript - Chart.js 工具提示显示错误的 x 轴值

    我有一个包含两个不同数据集的图表 但有时它们具有相同的 x y 坐标 但是当我将鼠标悬停在共享点 有时会显示错误的日期 y 值是正确的 但 x 值显示不正确 尝试将鼠标悬停在共享点 在 codepen 上 在下图中你可以看到我正在悬停 y
  • 动态添加内容到RelativeLayout

    由于我仍在学习 Android 亚马逊表示我需要 2 个月的时间才能收到 Hello Android 一书 所以我仍在尝试做一些简单的事情 我可以使用RelativeLayout 单击按钮来显示图标图像视图 创建它的代码如下 private
  • 从txt中读取科学格式的数字

    我想从 txt 文件中读取并存储科学格式的数字 该文件已格式化并且数字由制表符分隔 这是我到目前为止所拥有的 IMPLICIT NONE REAL ALLOCATABLE DIMENSION 2 data INTEGER row colum
  • Spark 工作负载需要 HDFS 吗?

    HDFS 不是必需的 但在某些地方会出现建议 为了帮助评估运行 HDFS 所花费的精力 将 HDFS 用于 Spark 工作负载有哪些好处 最短的答案是 不 你不需要它 即使没有 HDFS 您也可以分析数据 但当然您需要在所有节点上复制数据
  • SQL捕获BULK INSERT错误4863

    我在 try catch 块内有一个批量插入 BEGIN TRY BULK INSERT dbo EQUIP STATUS CODE FROM filepath filename csv WITH MAXERRORS 1 FIELDTERM
  • JavaScript/jQuery 正则表达式用有效字符替换输入字段

    我正在构建一个 CMS 用户可以通过文本输入控件自定义页面的 SEO URL 例如 假设用户正在创建一个画廊 并且他们希望访问他们的页面http www example com my 1st gallery 请注意 my 1st galle
  • 打开第三方应用程序

    我正在开发一个使用包名称来启动第三方应用程序的应用程序 我做了一些研究 发现所有应用程序都可以从启动器意图启动 有谁知道如何通过单击按钮来执行此操作 您无法真正 启动应用程序 如果您知道包名 您可以尝试从第 3 方应用程序获取启动意图 In
  • 是否可以在另外 2 个 Flex div 之间滚动 div 内容?

    我在页面顶部粘贴了一个标题栏 A 在页面底部粘贴了一个页脚栏 C 每一个都有固定的高度30px并在这里用黄色表示 它们通过以下代码粘在那里 display flex align content space between 在这 2 个 di
  • 指定默认端口时“用户登录失败”

    尝试调试客户在尝试指定 SQL Server 端口时的连接问题 我检查了本地重现问题 我的服务器在默认的 1433 端口下运行 使用以下命令指定该端口 SqlConnectionStringBuilder builder new SqlCo
  • 如何从Java文本文件中读取单个单词(或行)?

    就像标题所说 我正在尝试编写一个程序 可以从文本文件中读取单个单词并将它们存储到String变量 我知道如何使用FileReader or FileInputStream阅读单个char但对于我正在尝试的事情来说 这是行不通的 输入单词后
  • 通过 Android 使用自定义请求方法

    在开发 API 时 需要提供对 API 的使用者 开发人员 有意义的自定义请求方法 请求方法的 标准 集 按照RFC 2616 are GET PUT POST DELETE TRACE CONNECT 我想添加另一个 称为SEARCH 在
  • Python:(从列表中)找到与另一个字符串最接近的字符串

    假设我有一个string Hello 和一个清单 words hello Hallo hi house key screen hallo question Hallo format 我怎样才能找到n words那些最接近 Hello 并出现