def subsets(s): """s is a list representing a set; the function prints all the subsets of s""" myStr = [""] myStr1 = [""] for i in s: for j in myStr: myStr1.append(str(j)+str(i)) myStr = myStr1[:] for c in myStr: print "{" + str(c) + "}" subsets(["a","b","c","d"])