Python – 所有可能的 N 组合元组
简介
在 Python 中,元组是一种数据结构类型。元组由项目或元素组成,看起来更像列表。它包含在声明后无法更改的元素。要返回元组的所有可能的组合,主要使用 itertool 库。通过元组的迭代或重复过程是使用包含各种项目的迭代器对象完成的。为了返回元组中所有可能的组合,我们可以使用许多函数,如 combination()、chain()、product() 和连接方法。
所有可能的 N 组合元组
元组是一种数据结构,它包含在初始化后可互换的元素。元组通常被赋予一个值,并根据用户的角度返回语句。在返回给定元组的所有可能组合的情况下,下面给出了使用不同方法的示例。
语法
combination(substr, N)
combination() 方法用于查找字符串可以选择的方式的数量,并且要显示的元素对作为 N 给出。
算法
步骤 1 − 根据函数的需要,将模块导入代码。
步骤 2 − 代码中使用的库是 itertools 模块,用于使用 combination() 和 product() 函数。
步骤 3 − 输入字符串声明为 tuple_1 和 tuple_2,它们包含元组数据结构中的一组字符串变量。
步骤 4 − 声明要打印的元素对的变量。
步骤 5 − 使用 combination()、product() 方法和 append() 函数定义生成 'N' 可以打印的所有可能方式。
步骤 6 − 将转换后的值存储在 combined_list 中。
步骤 7 − print 语句根据 N 的值返回所有可能的组合。
方法
方法 1 − 使用 combination() 方法
方法 2 − 使用嵌套循环
方法 3 − 使用 product() 方法
方法 1:使用 combination() 方法显示元组的 Python 程序
定义 Iter_object,并且还定义长度变量“N”,其值为 2。此代码使用 combination() 函数提取给定长度的所有可能的组合。组合后的元组存储在一个名为 combined_tuple 的列表中。
示例
#itertools library is imported import itertools #tuple_1 is initialized with list of values tuple_1 = [3, 1, 7 ,5] #num variable is declared as 2 N=2 #combinations() function is used to combine the list of values in two format combined_tuples = list(itertools.combinations(tuple_1 ,N)) # It returns the tuples of the iter_object variable print(combined_tuples)
输出
[(3, 1), (3, 7), (3, 5), (1, 7), (1, 5), (7, 5)]
方法 2:使用嵌套循环显示元组的 Python 程序
此方法不使用 itertool 模块,并使用嵌套 for 循环迭代元组的值。两个元组使用变量值列表初始化,并且还定义了一个空列表。使用 append() 函数,我们可以将两个元组组合在一起,并创建一个包含元素对的新元组。
示例
#tuple_1 and tuple_2 is initialized with a list of values tuple_1 = (5, 7) tuple_2 = (6, 1) #empty list is initialized combined_list = [] # nested for loop is used to iterate through the tuples for one in tuple_1: for two in tuple_2: combined_list.append((one,two)) # It returns the tuples of the combined_list variable print("All possible combinations of the tuple are:",combined_list)
输出
All possible combinations of the tuple are: [(5, 6), (5, 1), (7, 6), (7, 1)]
方法 3:使用 product() 方法显示元组的 Python 程序
迭代元组所需的库是 itertools。两个元组使用变量值列表初始化。使用 product() 函数可以轻松地组合两个元组,该函数对项进行笛卡尔积,并使用 print 语句返回所有可能的值。
示例
#itertools library is imported import itertools #tuple_1 and tuple_2 is initialized with a list of values tuple_1 = (5, 7, 1, 4, 1) tuple_2 = (6, 8, 2, 0, 2) #product() function is used to get the combined tuple values combined_list = list(itertools.product(tuple_1, tuple_2)) # It returns the tuples of the combined_list variable print("All possible combinations of the tuple are:",combined_list)
输出
All possible combinations of the tuple are: [(5, 6), (5, 8), (5, 2), (5, 0), (5, 2), (7, 6), (7, 8), (7, 2), (7, 0), (7, 2), (1, 6), (1, 8), (1, 2), (1, 0), (1, 2), (4, 6), (4, 8), (4, 2), (4, 0), (4, 2), (1, 6), (1, 8), (1, 2), (1, 0), (1, 2)]
结论
在 Python 语言中,使用括号“()”来指示您已声明了一个元组。这些括号内的元素可以使用元素来定义初始化为元组。元组的优点是它遵循定义元素的特定顺序。