Python的组合——如何计算组合

439 阅读2分钟

Python Combinations Tutorial With Example

Python组合是指选择全部或部分对象的集合,而不考虑对象的选择顺序。例如,假设我们有一个三个字母的集合。我们可能会问,我们有多少种方法可以从这个集合中选择两个字母。每个可能的选择都是一个组合的例子。

Python的组合

要在Python计算 组合,请使用itertools.****combinations() 方法。**itertools.combinations()**方法接受一个迭代器作为参数,并返回迭代器中元素的所有可能组合。

Python 的组合与**Permutations** 相同,只是没有一个集合会有与另一个相同的元素。所以,例如,我们有一个包含三个项目的列表,如 ['android', 'iOS', 'Symbian' ],如果我们只选择两个元素并进行组合,那么总数将是三个组合。

  1. ['android', 'iOS']
  2. ['android', 'Symbian']
  3. ['iOS', 'Symbian']。

例子

让我们以Python语言为例,实现它。

# app.py

from itertools import combinations 
  
def combine(arr, s): 
    return list(combinations(arr, s)) 

array = [21, 18, 19] 
set = 2
print(combine(array, set))

在上面的代码中,我们首先从itertools 模块中导入了组合对象

然后,我们定义了一个名为combine()函数 它将返回可能的组合列表。它接受一个参数并创建这些参数的组合。

在这个例子中,我们正在创建一个2个组合的列表。

请看输出结果。

How To Calculate Combinations In Python Tutorial

在 Python 中计算元组的组合

要在Python中计算一个元组的组合,可以使用itertools.combinations()方法。combinations()方法接受一个元组 作为参数,并返回该元组元素的所有可能组合。

让我们定义一个元组,并对元组的项目进行组合。

# app.py

from itertools import combinations

def combine(tup, t): 
    return tuple(combinations(tup, t))

tup = (6, 29, 46)
set = 2
print(combine(tup, set))

请看输出结果。

Calculate Combinations of Tuple In Python

在Python中寻找字典的组合

要在 Python 中计算一个字典的组合,可以使用 itertools.combinations() 方法。combinations() 方法接受一个dictionary 作为参数,并返回 dictionary 元素的所有可能组合。

让我们定义一个dictionary并对 tuple 的项目进行组合。

我们将在 dictionary 的键上执行组合。

# app.py

from itertools import combinations
def combine(dict, d): 
    return list(combinations(dict,d))
dictA = {
    1: 19,
    2: 21,
    3: 18
} 
set = 2
print(combine(dictA, set))

请看输出结果。

Calculate Combinations of Dictionary In Python

我们可以在dictionary 的值上执行组合。 请看下面的代码。

# app.py

from itertools import combinations
def combine(dict, d): 
    return list(combinations(dict,d))
dictA = {
    1: 19,
    2: 21,
    3: 18
} 
set = 2
print(combine(dictA.values(), set))

请看输出。

combinations and permutations in python

这是对 Python 组合教程的介绍。