python怎么生成不重复的字符_如何在不重复的情况下生成一组字符的所有组合?...
我有以下清單:['a', 'b', 'c']
我正在尋找一種方法來(lái)生成所有可能的字符串,這些字符串包含以下限制:一個(gè)字符不能出現(xiàn)多次(aab,aba,abca等無(wú)效)
可以排除字符(ab有效,即使c不存在;a也有效,即使b和{}不存在)
我可以用
^{pr2}$
生成包含a、b和{}的所有字符串。不過(guò)我也得這么做[''.join(p) for p in permutations('ab')]
[''.join(p) for p in permutations('ac')]
[''.join(p) for p in permutations('bc')]
正如你可能知道的,如果最初的可用字符列表很長(zhǎng),我需要做很多工作。因此,我在Python中尋找一種優(yōu)雅的方法來(lái)生成上述所有內(nèi)容,只需輸入允許的字符列表:def generate(vals=['a', 'b', 'c']):
# The initial list of allowed characters also has to be part of the
# final list since these also represent valid values
res = vals
# Generate all possible strings and store in res
return res
我需要這個(gè),因?yàn)槲蚁霝槲业膚eb服務(wù)器的POST請(qǐng)求提供一個(gè)參數(shù),其中一個(gè)參數(shù)(我們稱之為val)可以采用不同的唯一值(單個(gè)字符或這些字符的組合),以便觸發(fā)一些數(shù)據(jù)生成??捎弥档牧斜韺㈦S著時(shí)間的推移而增長(zhǎng),因此我希望通過(guò)自動(dòng)檢查val的給定值是否有效,從而使處理請(qǐng)求更容易。在
我也一直在考慮迭代允許字符列表中的每個(gè)元素,并將其連接到其他元素(“a”、“ab”、“ac”、“abc”、“b”、“ba”、“bc”等等),但我不知道該怎么做。在
總結(jié)
以上是生活随笔為你收集整理的python怎么生成不重复的字符_如何在不重复的情况下生成一组字符的所有组合?...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。