title: How to iterate a 2d list to print a table?
body: <p>I have a class like this:</p>
  
  <pre><code>class example:
      def get_a(self): return [1,2,3]
      def get_b(self): return [4,5,6]
      def get_c(self): return [7,8,9]
      def get_all(self): return [['a',self.get_a()],['b',self.get_b()],['c',self.get_c()]]
  </code></pre>
  
  <p>And now I would like to use the return value of <code>get_all</code> to print a table like this:</p>
  
  <pre><code>a b c
  1 4 7
  2 5 8
  3 6 9
  </code></pre>
  
  <p>I know I can get the same output via:</p>
  
  <pre><code>def example_print():
      x = example()
      print 'a b c'
      for a,b,c in zip(x.get_a(),x.get_b(),x.get_c()):
           print a,b,c 
  </code></pre>
  
  <p>But I am clueless on how to iterate the 2d list returned by <code>get_all</code> to print the same, especially as I am looking for a way that does not have the number of items hardcoded (want to use same way of printing the list for different instances that may have more "columns").</p>