Python 中不使用 itertools 的组合2024 年 8 月 29 日 | 4 分钟阅读 有很多时候我们需要从单个字符串或一组不同的数字中找到不同的组合。 要在 Python 中找到这些组合,我们有 itertools 模块,这是查找不同组合和排列最常用的模块。 此模块是一个非常高效的工具,可以快速找到所有可能的组合。但是 itertools 模块函数并不是我们可以用来查找组合的唯一可能方法。 在本教程中,我们将学习如何在不使用 itertools 的情况下,在 Python 中通过不同方法从字符串中查找不同组合。 不使用 itertools 的 Python 组合在本节中,我们将编写 Python 程序,通过在其中实现几种方法来查找组合。我们将在 Python 程序中使用以下方法:
在这两种方法中,首先,我们将查看程序并理解其工作原理,然后我们将进入解释部分以理解其中使用的实现。 使用迭代方法查找 Python 组合要在程序中实现迭代方法,我们必须导入 numpy 库以使用其函数。让我们理解下面的示例。 示例输出 Enter an input string to find combinations: JavaTpoint All possible combinations of three letter sets from the string given by you is: [('J', 'a', 'v'), ('J', 'a', 'a'), ('J', 'a', 'T'), ('J', 'a', 'p'), ('J', 'a', 'o'), ('J', 'a', 'i'), ('J', 'a', 'n'), ('J', 'a', 't')] 说明 我们在上面的程序中使用了迭代方法来从输入字符串中查找组合。 首先,我们使用了一个默认的 Python 函数,它以输入字符串和组合集长度作为参数。然后,我们将输入字符串转换为元组。我们还检查了组合所需的长度是否不超过字符串的长度。 之后,我们使用 numpy 的 arrange() 函数为元组设置索引。我们将使用索引变量迭代元组。 然后,我们使用反向 for 循环和 while 循环内部的另一个 for 循环迭代元组。在循环迭代之后,我们输出了所需长度的可能组合。 然后,我们从用户那里获取了一个输入字符串。最后,我们从输入字符串中返回了三个集合的组合。 使用递归方法查找 Python 组合在递归方法方法中,我们将迭代一个列表,该列表包含字符串列表。让我们理解下面的示例。 示例输出 Enter an input string to find combinations: Python All possible combinations of three letter sets from the string given by you is: [['P', 'y', 't'], ['P', 'y', 'h'], ['P', 'y', 'o'], ['P', 'y', 'n'], ['P', 't', 'h'], ['P', 't', 'o'], ['P', 't', 'n'], ['P', 'h', 'o'], ['P', 'h', 'n'], ['P', 'o', 'n'], ['y', 't', 'h'], ['y', 't', 'o'], ['y', 't', 'n'], ['y', 'h', 'o'], ['y', 'h', 'n'], ['y', 'o', 'n'], ['t', 'h', 'o'], ['t', 'h', 'n'], ['t', 'o', 'n'], ['h', 'o', 'n']] 说明 在上面的程序中,在实现递归方法时,我们没有使用任何特定的 Python 模块。与迭代方法一样,我们使用了一个默认函数在代码中实现递归方法。 在此程序中,我们使用了一个条件来检查组合所需的长度。然后,我们在函数中使用 for 循环内的递归方法。在使用递归方法后,我们从输入字符串返回了所需长度的组合。最后,我们从用户那里获取了字符串输入,并以三个集合的组合作为输出返回。 下一个主题Python 列表推导式 |
如何在Python中从列表中删除元素 我们可以使用Python List数据结构将几种数据类型的项目存储在有序序列中。方括号([])用于封装数据,而逗号用于分隔条目(,)。Python提供了...
7 分钟阅读
大家好,如果我们需要学习 Python 并寻找最好的 Coursera Python 课程,那么您来对地方了。有很多网站可以获取 Python 编程课程,但 Coursera 很可能是最著名的之一。它的优点是...
7 分钟阅读
如果我们一直使用面向对象编程 (OOPS) paradigm 语言,我们应该经常听到“属性”这个词。属性有两种类型——类属性和实例属性。本教程解释了什么是属性及其类型,以及示例。由于 Python 是...的一大支持者
阅读 4 分钟
很明显,过去很多次,我们都需要从一个地方复制或粘贴一些东西、一些文本或消息到另一个地方。复制粘贴被认为是最简单、最容易、最省时的过程。我们很难想象它有多大...
7 分钟阅读
在本教程中,我们将学习如何使用 Python 读取和写入文件中的列表。众所周知,Python 使用列表来存储各种类型的数据,并且它是可变的。为了持久地存储数据,我们......
5 分钟阅读
条形图是可视化和比较不同类别数据的一种流行方式。当处理多个数据系列共同构成一个整体时,堆叠条形图提供了一个引人注目的解决方案。PyGal 是一个用于创建交互式图表的多功能 Python 库,它允许您创建堆叠条形图...
阅读9分钟
从太空观察太阳系会非常有趣。事实上,为什么不使用 Python 来制作太阳系的视觉描绘呢?在这个项目中,太阳系将使用 Python 进行图形表示。什么是太阳系?地球是其中的一员...
阅读 6 分钟
AR(增强现实)是一个结合了真实世界和虚拟世界的系统。你玩过“精灵宝可梦 Go”吗?如果你不了解这个游戏,玩家必须打开摄像头,在各处漫游,以寻找一个随机放置在某处的 3D 精灵宝可梦...
阅读 3 分钟
文本消息可以使用摩尔斯电码方法进行通信,方法是输入一系列电脉冲,通常显示为短脉冲(称为“点”)和长脉冲(“破折号”)。塞缪尔·F·B·摩尔斯在 19 世纪 40 年代创建了该代码,用于...
阅读 16 分钟
在本教程中,我们将学习如何在 Python 程序中声明全局变量。什么是全局变量?全局变量是指在函数内部和外部都可用的变量,前提是它们在函数外部定义,该函数是全局的...
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India