title: Remove row or column from 2D list if all values (in that row or column) are None
body: <p>I have a grid (6 rows, 5 columns):</p>
  
  <pre><code>grid = [
          [None, None, None, None, None],
          [None, None, None, None, None],
          [None, None, None, None, None],
          [None, None, None, None, None],
          [None, None, None, None, None],
          [None, None, None, None, None],
          ]
  </code></pre>
  
  <p>I augment the grid and it might turn into something like:</p>
  
  <pre><code>grid = [
          [{"some" : "thing"}, None, None, None, None],
          [None, None, None, None, None],
          [None, None, None, None, None],
          [None, None, None, {"something" : "else"}, None],
          [None, {"another" : "thing"}, None, None, None],
          [None, None, None, None, None],
          ]
  </code></pre>
  
  <p>I want to remove entire rows and columns that have <strong>all</strong> <code>None</code>s in them. So in the previous code, grid would be transformed into:</p>
  
  <pre><code>grid = [
          [{"some" : "thing"}, None, None],
          [None, None, {"something" : "else"}],
          [None, {"another" : "thing"}, None],
          ]
  </code></pre>
  
  <p>I removed row 1, 2, 5 (zero indexed) and column 2 and 4.</p>
  
  <p>The way I am deleting the rows now:</p>
  
  <pre><code>for row in range(6):
      if grid[row] == [None, None, None, None, None]:
          del grid[row] 
  </code></pre>
  
  <p>I don't have a decent way of deleting <code>None</code> columns yet. Is there a "pythonic" way of doing this?</p>