<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def find_ss_regions_polymer(polymer, ss):
 """Returns an `Assembly` of regions tagged as secondary structure. Parameters polymer : Polypeptide `Polymer` object to be searched secondary structure regions. ss : list List of secondary structure tags to be separate i.e. ['H'] would return helices, ['H', 'E'] would return helices and strands. Returns ------- fragments : Assembly `Assembly` containing a `Polymer` for each region of specified secondary structure. """

    if isinstance(ss, str):
        ss = [ss[:]]
    tag_key = 'secondary_structure'
    monomers = [x for x in polymer if tag_key in x.tags.keys()]
    if len(monomers) == 0:
        return Assembly()
    if (len(ss) == 1) and (all([m.tags[tag_key] == ss[0] for m in monomers])):
        return Assembly(polymer)
    previous_monomer = None
    fragment = Polypeptide(ampal_parent=polymer)
    fragments = Assembly()
    poly_id = 0
    for monomer in monomers:
        current_monomer = monomer.tags[tag_key]
        if (current_monomer == previous_monomer) or (not previous_monomer):
            fragment.append(monomer)
        else:
            if previous_monomer in ss:
                fragment.tags[tag_key] = monomer.tags[tag_key]
                fragment.id = chr(poly_id + 65)
                fragments.append(fragment)
                poly_id += 1
            fragment = Polypeptide(ampal_parent=polymer)
            fragment.append(monomer)
        previous_monomer = monomer.tags[tag_key]
    return fragments