title: How do you sort the output of a python command?
body: <p>Python beginner here. Let's say that I have something at the end of my script that queries info from a system and dumps it into this format:</p>
  
  <pre><code>print my_list_of_food(blah)
  </code></pre>
  
  <p>and it outputs a list like:</p>
  
  <pre><code>('Apples', 4, 4792320)
  ('Oranges', 2, 2777088)
  ('Pickles', 3, 4485120)
  ('Pumpkins', 1, 5074944)
  ('more stuff', 4545, 345345)
  </code></pre>
  
  <p>How do I then sort that output based on the 2nd field so that it would look like this:</p>
  
  <pre><code>('Pumpkins', 1, 5074944)
  ('Oranges', 2, 2777088)
  ('Pickles', 3, 4485120)
  ('Apples', 4, 4792320)
  </code></pre>
  
  <p>Other than importing a bash command to <code>cut -d "," -f 2 | head 4</code> I'd rather use python. I know I can use sorted or sort to sort an existing tuple or dictionary but I'm not sure of how to sort the output of a print. I've done some research and everything points to implementing sort into my script instead of sorting a print output but who knows, maybe someone has a solution. Thanks.</p>
  
  <p>UPDATE:</p>
  
  <p>Thanks everyone. I've tried to make all of the solutions work but I keep getting this error: </p>
  
  <pre><code>File "test.py", line 18, in &lt;lambda&gt;
      print sorted(my_list_of_food(blah), key=lambda x: x[1])
  TypeError: 'int' object is unsubscriptable
  
  File "test.py", line 18, in &lt;lambda&gt;
      print(sorted(my_list_of_food(blah), key=lambda k: k[1]))
  TypeError: 'int' object is unsubscriptable
  </code></pre>
  
  <p>I tried to include this at the beginning of the script:</p>
  
  <pre><code>from __future__ import print_function 
  </code></pre>
  
  <p>but no luck. </p>