簡體   English   中英

Python 中可變長度數組的可能排列

[英]Possible permutation of variable length arrays in Python

我有 3 種不同的產品(A、B、C)要生產。
要生產的數量是固定的:A=3,B=3,C=2。 所以總共有 8 個產品。
問題是我只有 2 條准備線,每條生產線用於特定產品:LineA、LineB、LineC。
准備線可以准備所有 3 種類型的產品 這意味着我只能有 2 條活躍的生產線,第 3 條閑置用於該班次。
每個工作班次的持續時間是相等的。

所以總共我將有 4 個工作班次(8 個產品/2 條准備線)

我的問題是:如何編寫一個算法來顯示所有可能的排列。 輸出將與此類似(這只是一種排列,我需要所有可能性才能看到空閑班次):

LineA LineB LineC
  A     B     -
  A     -     C
  -     B     C
  A     B     -

編輯:
上述輸出的實際列表是:

AAA
BBB
CC

編輯2
itertools 函數在這里不起作用,因為它們沒有考慮每個列表中的有限項數。 我的項目數量有限,所以我需要一個所有可能排列/組合的列表(在這個例子中,我需要 n 次 4x3 矩陣)
首先,我需要第一個組合(如示例中繪制的),而不是所有可能的組合。
當然,隨着數量的增加,對於 ?x3 矩陣會有更大的 n
您也可以忘記空值,因此在這種情況下,上述示例的結果將是 4x2 矩陣的 n 倍

如果我沒有忽略某些東西,組合A,B,C,-的集合是恆定的。 這正是你的例子中的那些。 我看不出有其他方法可以生成所需的數字。 所以你需要做的是產生你展示的 4(3) 產生狀態的所有排列。 如果允許准備線閑置,那么事情就會變得更加有趣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM