我正在尝试创建一个程序来生成python中字符串的所有可能的大写形式。例如,给定“abcedfghij”,我想要一个程序生成:
Abcdefghij
ABcdef ..
。
。
aBcdef ..
。
ABCDEFGHIJ
等等。我正在尝试找到一种快速的方法,但是我不知道从哪里开始。
最佳答案
from itertools import product, izip
def Cc(s):
s = s.lower()
for p in product(*[(0,1)]*len(s)):
yield ''.join( c.upper() if t else c for t,c in izip(p,s))
print list(Cc("Dan"))
打印:
['dan', 'daN', 'dAn', 'dAN', 'Dan', 'DaN', 'DAn', 'DAN']