Finding all possible case permutations in Python [duplicate]
def all_casings(input_string): if not input_string: yield “” else: first = input_string[:1] if first.lower() == first.upper(): for sub_casing in all_casings(input_string[1:]): yield first + sub_casing else: for sub_casing in all_casings(input_string[1:]): yield first.lower() + sub_casing yield first.upper() + sub_casing >>> [x for x in all_casings(“foo”)] [‘foo’, ‘Foo’, ‘fOo’, ‘FOo’, ‘foO’, ‘FoO’, ‘fOO’, ‘FOO’] >>> list(all_casings(“foo”)) [‘foo’, ‘Foo’, ‘fOo’, … Read more