我正在尝试创建一个程序来生成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']

10-06 09:29