A (deceptively tricky?) Python question I am writing a Scrabble AI, and I want to handle blank tiles. Right now, I want to expand a string containing blank tiles into a list of strings composed of words created by all possible interpretations of the blanks. So, "H_LLO" ==> ["HALLO", "HBLLO", ... "HZLLO"] (length is 26) However, Scrabble has 2 blank tiles, so I can't just do a simple for loop and replace. For example, "H_LL_" ==> ["HALLA", "HALLB", ... "HBLLA", ... "HZLLZ"] (length is 26x26 = 676) What is the cleanest way to do this? The best I could come up with is the following, but I don't much like it: |