title: How to append characters to a string being used as a python dictionary key (when there are multiple entries related to that string)?
body: <p>I am pulling out sequence coordinates from the output file produced by HMMER (finds DNA sequences, matching a query, in a genome assembly file).</p>
  
  <p>I create a python dictionary where the key is the source sequence name (a string), and the value is a list comprising the start and end coordinates of the target sequence. However, HMMER often finds multiple matches on a single source sequence (contig/chromosome).</p>
  
  <p>This means that as I add to the dictionary, if I come across multiple matches on a contig, each is overwritten by the following match.</p>
  
  <p>E.g. HMMER finds the following matches:</p>
  
  <blockquote>
    <p>Name    Start    End</p>
    
    <p>4415    16723    17556</p>
    
    <p>127    1290    1145</p>
    
    <p>1263    34900    37834</p>
    
    <p>4415    2073    3899</p>
    
    <p>4415    4580    6004</p>
  </blockquote>
  
  <p>But this results in the following dictionary (I want separate entries for each match):</p>
  
  <blockquote>
    <p>{'127': ['1290', '1145'], '1263': ['34900', '37834'], '4415': ['4580', '6004']}</p>
  </blockquote>
  
  <p>How can I append a letter to the key so that subsequent matches are unique and do not overwrite the previous ones, i.e. 4415, 4415a, 4415b, and so on?</p>
  
  <pre><code>matches = {}
  
  for each line of HMMER file:
      split the line
      make a list of fields 4 &amp; 5 (the coordinates)
      # at this stage I need a way of checking whether the key (sequenceName)
      # is already in the dictionary (easy), and if it is, appending a letter
      # to sequenceName to make it unique
      matches[sequenceName] = list
  </code></pre>