title: Selectively remove all occurrences from a list of lists based off of another list
body: <p>I've been looking for hours and haven't been able to find <strong><em>exactly</em></strong> what I need, so I thought I'd ask.  I'm trying to remove elements from a list of lists based on another list of dictionaries.  I have a list of items that I don't want to appear in my list of lists.</p>
  
  <pre><code>exclude_list = [{'arb_field_1': '0', 'arb_field_2': '59',
                   'surrogate_key': '0502f5fb0731b5afc'},
                  {'arb_field_1': '0', 'arb_field_2': '62',
                   'surrogate_key': '1676c663914864973'},
                  {'arb_field_1': '0', 'arb_field_2': '62',
                   'surrogate_key': '2fc1ed4adffbb635'}]
  </code></pre>
  
  <p>Then I have my primary list, which I want to delete elements from based on the surrogate_key in the exclude list of dictionaries.</p>
  
  <pre><code>prim_list = [['0502f5fb0731b5afc', 'bla_bla_bla', 'foo_bar1'],
               ['0502f5fb0731b5afc', 'john_smith', 'dummy_data_elem1'],
               ['002b2a71e8b514', '5450464', 'data_i_dont_care_about'],
               ['2fc1ed4adffbb635', '05d3mh', 'obfuscated_field1'],
               ['12319618913119', 'granny_apples', 'filler_filler']]
  </code></pre>
  
  <p>I have the following loop which works (doesn't feel very pythonic, but I'm new to Python so I'm open to suggestions on that).. but <strong><em>only</em></strong> deletes one instance of the match, where I need to delete <strong><em>all</em></strong> instances of the match.</p>
  
  <pre><code>for exclude_list_item in exclude_list:
      for i, v in enumerate(prim_list):
          if v[0] == exclude_list_item.get('surrogate_key'):
              prim_list.remove(prim_list[i])
  </code></pre>
  
  <p>What I want to end up with is a list of lists like this:</p>
  
  <pre><code>prim_list = [['002b2a71e8b514', '5450464', 'data_i_dont_care_about'],
               ['12319618913119', 'granny_apples', 'filler_filler']]
  </code></pre>