【发布时间】:2021-07-23 12:35:28
【问题描述】:
所以我想将 1 到 5 的所有数字组合成 2 长度。 我正在使用下面的代码来完成它。
from itertools import combinations_with_replacement
# Get all combinations of [1, 2, 3] and length 2
comb = combinations_with_replacement([1, 2, 3, 4], 2)
# Print the obtained combinations
for i in list(comb):
print (i)
我得到的结果是:
(1, 1)
(1, 2)
(1, 3)
(1, 4)
(2, 2)
(2, 3)
(2, 4)
(3, 3)
(3, 4)
(4, 4)
但它跳过了一些数字,例如 (2,1)、(3,1)、(3,2)
谁能告诉我如何获得所有组合,包括 (1,2)、(2,1) 通常代码会跳过。
谢谢
您有 8 个对象:A、B、C、D、E、F、G、H 它们的所有排列都重复,样本大小为 2 个对象: AA AB BA AC CA AD DA AE EA AF FA AG GA AH HA BB BC CB BD DB BE EB BF FB BG GB BH HB CC CD DC CE EC CF FC CG GC CH HC DD DE ED DF FD DG GD DH HD EE EF FE EG GE EH HE FF FG GF FH HF GG GH HG HH
【问题讨论】:
-
我猜你想要“itertools.product”。
-
是的,类似于上面的内容。与所有组合
标签: python combinations itertools