nodes: 0, module; 1, function_definition; 2, function_name:symmetric_difference; 3, parameters; 4, block; 5, identifier:self; 6, identifier:other; 7, expression_statement; 8, return_statement; 9, comment:"""Return the symmetric difference of two sets as a new set.
  
          >>> from ngram import NGram
          >>> a = NGram(['spam', 'eggs'])
          >>> b = NGram(['spam', 'ham'])
          >>> sorted(list(a.symmetric_difference(b)))
          ['eggs', 'ham']
          """; 10, call; 11, attribute; 12, argument_list; 13, identifier:self; 14, identifier:copy; 15, call; 16, attribute; 17, argument_list; 18, call; 19, identifier:symmetric_difference; 20, identifier:other; 21, identifier:super; 22, argument_list; 23, identifier:NGram; 24, identifier:self
code: def symmetric_difference(self, other):
          """Return the symmetric difference of two sets as a new set.
  
          >>> from ngram import NGram
          >>> a = NGram(['spam', 'eggs'])
          >>> b = NGram(['spam', 'ham'])
          >>> sorted(list(a.symmetric_difference(b)))
          ['eggs', 'ham']
          """
          return self.copy(super(NGram, self).symmetric_difference(other))