Python 程序查找字谜17 Mar 2025 | 5 分钟阅读 在本教程中,我们将学习如何检测给定的字符串是否是字谜。但在此之前,我们应该熟悉字谜的概念。 什么是字谜?字谜(Anagram)是一种条件,其中一个字符串或数字以某种方式重排;重排后的字符串或数字的每个字符都必须是另一个字符串或数字的一部分。换句话说,如果第二个字符串是第一个字符串的简单重排,则称该字符串是另一个字符串的字谜。例如 - python 和 yphton 是字谜; Java 和 avaJ 也是字谜。 在着手解决问题之前,我们将先理解问题描述。 问题描述
程序 -输出 True 解释 - 在上面的代码中,我们声明了 **anagramCheck()** 方法,该方法接受两个字符串作为参数。这些字符串被转换为列表以进行排序。然后,我们定义了 **position** 变量并为其赋值为零。在 while 循环的每次迭代中,字符串长度与 position 值进行比较。两个列表的每个元素互相比较,并将 position 值加一。一旦 position 值大于字符串长度,循环将终止并返回 **true**;否则,它将返回 false。 Python 字谜程序示例我们可以使用几种技术和示例来在 Python 中查找字谜。这些技术如下所示。 1. Counter 技术在这种技术中,我们计算两个给定字符串中每个字符的计数。如果一个给定字符串的计数与另一个字符串匹配,则相应的单词是另一个单词的字谜。 让我们理解下面的例子。 示例 - 输出 [['python'], ['yphotn']] 解释 - 我们导入了 **collection 模块** 及其 **Counter** 和 **defaultdict** 方法来检查字符串的字谜。我们定义了 **checking_anagram()** 方法,使用 Counter 函数来计算和记录每个字符。每个计数都会被重新排序到一个列表中并进行跟踪。此过程对第一个字符串的所有字符完成后,再对第二个字符串进行。如果两个字符串的计数匹配,则意味着这两个字符串是字谜。
在这种技术中,对两个字符串进行排序,并检查它们的值是否匹配。让我们通过以下示例来理解。 示例 - 输出 String value1 : python String value2 : ythopn Both strings are an Anagram. 解释 - 在上面的代码中,我们定义了 **checking_anagram()** 方法并传入了两个字符串。在 **checking_anagram()** 方法中,我们将字符串存储在特定的变量中。我们比较了排序后的每个字符串。如果字符串之间的比较匹配,则给定的字符串构成字谜;否则,它们被返回为“两个字符串不是字谜”。此方法相对简单有效。它大大降低了代码的复杂性。 2. Reverse Anagram 检查我们可以按如下方式应用此技术。 示例 - 输出 {'cat': 'tac'} 解释 - 在上面的代码中,我们使用了这种技术来比较反向字符串之间的字谜。在这里,我们形成了两个不同的字符串。此技术类似于回文,我们将其中一个字符串反转并与另一个字符串进行比较。如果它们匹配,则字符串构成了字谜;如果不匹配,则它们不被视为字谜。 3. Position Verification 技术在此方法中,通过位置级别进行比较来检查字谜。我们可以通过将第一个字符串的位置字符与另一个字符串中的每个位置字符进行比较来实现此目的。如果第一个字符串在另一个字符串中找到了相似的匹配项,则将其声明为字谜。让我们通过以下示例来理解。 示例 - 输出 String value1 : ythopn String value2 : python 说明 在这里,这是另一种获取两个字符串的字谜的方法。我们在这里也使用了比较。在嵌套的 while 循环中,我们将字符串传递给这些循环进行验证过程。 外部 while 循环用于处理其中一个字符串,内部循环用于处理另一个字符串。一个字符串的字符与另一个字符串的每个字符进行比较,并且此过程会应用于第一个字符串中的每个字母。如果第一个字符串的所有字符都与另一个字符串匹配,则这两个字符串被认为是字谜。 这项技术是一个非常稳定的过程,因为它基于算法技术,能够精确地判断字符串。 下一个主题如何将列表转换为集合 |
集成学习中使用了多种机器学习算法,旨在提高数据集上的正确预测率。使用数据集训练一组机器学习模型,每个模型应用于数据集所做的不同预测形成...
阅读 6 分钟
用户调用析构函数来销毁对象。在 Python 中,开发人员可能不像在 C++ 语言中那样需要析构函数。这是因为 Python 有一个垃圾收集器,其功能是自动处理内存管理。在本文中,我们将讨论...
阅读 3 分钟
在 Python 中理解朴素贝叶斯算法 朴素贝叶斯是一种广泛使用的机器学习规则集。它在文本分类、垃圾邮件检测、情感分析等方面尤其受欢迎。在本文章中,我们将...
7 分钟阅读
PyQt5 是一个功能强大的 Python 库,提供各种小部件用于构建图形用户界面。用于输入数值的重要小部件之一是 QDoubleSpinBox。它是 QSpinBox 小部件的高级版本,允许客户输入十进制数...
阅读 4 分钟
本文将讨论range()和xrange()函数是什么,它们在Python中如何使用,以及各自的基本特性。Python中可用的函数可以在我们程序的多个部分使用,因为它们减少了代码量...
阅读 3 分钟
数据分析可以帮助我们从数据中获取有用的信息,并为我们的查询提供解决方案。此外,基于观察到的模式,我们可以预测不同业务策略的结果。理解数据分析的基础 数据 我们工作的基本数据类型……
5 分钟阅读
在本教程中,我们将学习 Python pendulum 库。我们将讨论其功能和用法。Python 提供了 datetime 模块,它是处理日期和时间最重要的库之一,它非常灵活,并附带许多有用的方法。然而,...
阅读 6 分钟
当今世界,我们都熟悉 PDF 文件,因为它们是使用最广泛的数字文档格式之一。pdf 的全称是“便携式文档格式”,它使用“.pdf”扩展名保存文档文件。这独立于...
11 分钟阅读
还需要学习 Python,但又不能整天都在电脑旁?那就继续往下读吧……以下是 15 本免费的 Python 电子书,以及一些额外的书籍,你可以随身携带。这份最实用的免费精选集...
阅读 6 分钟
程序或进程的最小单元称为线程,它可以独立运行,也可以作为操作系统设置的调度的一部分运行。计算机系统中的多任务处理是通过操作系统将一个进程划分为多个线程来实现的。一个...
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India