How to make all possible combinations of a word in Python
<p>I have a txt file with all of the letters in the alphabet that looks like this:</p>

<p>a</p>

<p>b</p>

<p>c</p>

<p>etc..</p>

<p>I also have a word list of words that is only 3 letters long:</p>

<p>ago</p>

<p>age</p>

<p>bat</p>

<p>bag</p>

<p>etc...</p>

<p>I want to create a list that prints out all of the combinations possible starting with the first word ago:</p>

<p>My test program looks like this:</p>

<pre><code>allcombi=[]
s= list("ago")
the.list=[]
with open("alfabeth.txt", "r", encoding = "utf-8") as letters:
    for line in letters:
        letter = line.strip()
        s[0]=letter
        print(s)
</code></pre>

<p>Now I only change the first letter, but I have a really hard time trying to join the letters because it only looks like this:</p>

<p>['a', 'g', 'o']
['b', 'g', 'o']
....</p>

<p>HELP WITH:</p>

<ol>
<li><p>Print it out as  ['ago','bgo'] instead</p></li>
<li><p>Instead of just changing the first letter, change it one letter at a time in index 0,1 and 2 one letter at a time in the word. The output should be 27*3 rows long with ['ago','bgo',........,'agx',agy,'agz']   </p></li>
</ol>

<p>I will later search for all of the items in my new list in a dictionary but that I can figure out myself it's just this part that really gotten me stuck.</p>

<p>This will generate a list of all combinations for a given word:</p>

<pre><code>from string import ascii_lowercase
word = "ago"
combos = []
for i in xrange(len(word)):
    for l in ascii_lowercase:
        combos.append( word[:i]+l+word[i+1:] )
</code></pre>

python string list replace letter