Python Nested List Comprehensions to create a matrix
<p>I'm new to list comprehensions and would like to replicate the following code below in for loops into a nested list comprehension.</p>

<pre><code> master = []
 inner = []
 for x in range(1,8):
     inner = []
     for y in range(1,x+1):
         inner.append(str(x*y).rjust(2))

     master.append(inner)

for m in master:
    print ' '.join(m)
</code></pre>

<p>The output looks like this:</p>

<pre><code>  1
  2  4
  3  6  9
  4  8 12 16
  5 10 15 20 25
  6 12 18 24 30 36
  7 14 21 28 35 42 49
</code></pre>

<p>I was thinking something like:</p>

<pre><code> test =  [  
    [str(x*y).rjust(2) for x in range(1,8)] 
    for y in range(1,x+1) 
 ] 
 for t in test:
     print ' '.join(t)
</code></pre>

<p>But I get a traceback error:</p>

<pre><code> Traceback (most recent call last):
 File "python", line 3, in &lt;module&gt;
 NameError: name 'x' is not defined
</code></pre>

<p>Any python experts care to point me in the right direction?</p>

<p>Thank you in advance!</p>