簡體   English   中英

如何根據給定的字符和長度生成排列列表?

[英]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.

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