[英]How do I generate a list of permutations based on given characters and a length?
例如,
我有一個要生成例如['*','+']的排列的字符列表,以及一個想要生成排列的長度,例如2。換句話說,我想找到的所有組合提供的列表,直到提供的長度。 調用generatePermutations可能看起來像這樣。
generatePermutations(['*', '+'], 2)
應該返回:
*, *
*, +
+, *
+, +
另一個示例是:
generatePermutations(['*', '+'], 3)
*, *, *
*, *, +
*, +, +
*, +, *
+, *, +
+, *, *
+, +, *
+, +, +
我將如何去做呢?
使用itertool.product
。 您要的是笛卡爾積 。
例子
>>> list(itertools.product(['*', '+'], repeat=2))
[('*', '*'), ('*', '+'), ('+', '*'), ('+', '+')]
>>> list(itertools.product(['*', '+'], repeat=3))
[('*', '*', '*'), ('*', '*', '+'), ('*', '+', '*'), ('*', '+', '+'), ('+', '*', '*'), ('+', '*', '+'), ('+', '+', '*'), ('+', '+', '+')]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.