Python中的Itertools是指Python中提供的用于创建迭代器的模块,该模块还有助于有效的循环,时间和空间效率。 Itertools帮助我们轻松高效地解决复杂问题。通常有3种类型的迭代器。
此模块提供的不同类型的迭代器为:
注意:有关更多信息,请参阅Python Itertools。
Itertools.Combinations_with_replacement()
Itertools.Combinations_with_replacement()
位于itertools的Combinatoric Generator子类型中。组合生成器是指那些处理迭代器可能的不同布置的迭代器。在这里,元素用那里的索引值而不是那里的值或类型来引用。
如何使用Itertools.Combinations_with_replacement()函数?
如名称“combinations”所理解的,它表示迭代器的所有可能子集或布置,而单词“combinations_with_replacement”表示允许元素在子集中重复的所有可能的布置或子集。此函数将‘r’作为输入,此处‘r’表示可能的不同组合的大小。发出具有元素重复的所有组合,并且长度为‘r’,并且‘r’在此处是必需的参数。
范例1:-
from itertools import combinations_with_replacement
a ="GEeks"
l = list(combinations_with_replacement(a, 2))
print("COMBINATIONS WITH REPLACEMENTS OF STRING GEeks OF SIZE 2.")
print(l)
输出:-
COMBINATIONS WITH REPLACEMENTS OF STRING GEeks OF SIZE 2.
[(‘G’, ‘G’), (‘G’, ‘E’), (‘G’, ‘e’), (‘G’, ‘k’), (‘G’, ‘s’), (‘E’, ‘E’), (‘E’, ‘e’), (‘E’, ‘k’), (‘E’, ‘s’), (‘e’, ‘e’), (‘e’, ‘k’), (‘e’, ‘s’), (‘k’, ‘k’), (‘k’, ‘s’), (‘s’, ‘s’)]
示例2:
from itertools import combinations_with_replacement
print ("All the combination of List in sorted order(with replacement) is:")
print(list(combinations_with_replacement('D.P.S.', 2)))
print()
print ("All the combination of list in sorted order(with replacement) is:")
print(list(combinations_with_replacement(range(1, 5), 2)))
输出:-
All the combination of List in sorted order(without replacement) is:
[(‘D’, ‘D’), (‘D’, ‘.’), (‘D’, ‘P’), (‘D’, ‘.’), (‘D’, ‘S’), (‘D’, ‘.’), (‘.’, ‘.’), (‘.’, ‘P’), (‘.’, ‘.’), (‘.’, ‘S’), (‘.’, ‘.’), (‘P’, ‘P’), (‘P’, ‘.’), (‘P’, ‘S’), (‘P’, ‘.’), (‘.’, ‘.’), (‘.’, ‘S’), (‘.’, ‘.’), (‘S’, ‘S’), (‘S’, ‘.’), (‘.’, ‘.’)]All the combination of list in sorted order(with replacement) is:
[(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 4)]
注:本文由纯净天空筛选整理自sahivam4u大神的英文原创作品 Python – Itertools.Combinations_with_replacement()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。