code: def select_icons(xmrs, left=None, relation=None, right=None):
      
      icmatch = lambda ic: (
          (left is None or ic.left == left) and
          (relation is None or ic.relation == relation) and
          (right is None or ic.right == right))
      return list(filter(icmatch, xmrs.icons()))
docs: Return the list of matching ICONS for *xmrs*.
  
      :class:`~delphin.mrs.components.IndividualConstraint` objects for
      *xmrs* match if their `left` matches *left*, `relation` matches
      *relation*, and `right` matches *right*. The *left*, *relation*,
      and *right* filters are ignored if they are `None`.
  
      Args:
          xmrs (:class:`~delphin.mrs.xmrs.Xmrs`): semantic structure to
              query
          left (str, optional): left variable to match
          relation (str, optional): individual constraint relation to match
          right (str, optional): right variable to match
      Returns:
          list: matching ICONS