code: def select_sites( self, site_labels ):
          
          if type( site_labels ) in ( list, set ):
              selected_sites = [ s for s in self.sites if s.label in site_labels ]
          elif type( site_labels ) is str:
              selected_sites = [ s for s in self.sites if s.label is site_labels ]
          else:
              raise ValueError( str( site_labels ) )
          return selected_sites
docs: Selects sites in the lattice with specified labels.
  
          Args:
              site_labels (List(Str)|Set(Str)|Str): Labels of sites to select.
                  This can be a List [ 'A', 'B' ], a Set ( 'A', 'B' ), or a String 'A'.
  
          Returns:
              (List(Site)): List of sites with labels given by `site_labels`.