nodes: 0, module; 1, function_definition; 2, function_name:zscan; 3, parameters; 4, block; 5, identifier:self; 6, identifier:key; 7, default_parameter; 8, default_parameter; 9, default_parameter; 10, expression_statement; 11, expression_statement; 12, if_statement; 13, if_statement; 14, expression_statement; 15, function_definition; 16, return_statement; 17, identifier:cursor; 18, integer:0; 19, identifier:match; 20, None; 21, identifier:count; 22, None; 23, comment:"""Incrementally iterate sorted sets elements and associated scores."""; 24, assignment; 25, comparison_operator:match is not None; 26, block; 27, comparison_operator:count is not None; 28, block; 29, assignment; 30, function_name:_converter; 31, parameters; 32, block; 33, call; 34, identifier:args; 35, list; 36, identifier:match; 37, None; 38, expression_statement; 39, identifier:count; 40, None; 41, expression_statement; 42, identifier:fut; 43, call; 44, identifier:obj; 45, return_statement; 46, identifier:wait_convert; 47, argument_list; 48, augmented_assignment; 49, augmented_assignment; 50, attribute; 51, argument_list; 52, tuple; 53, identifier:fut; 54, identifier:_converter; 55, identifier:args; 56, list; 57, identifier:args; 58, list; 59, identifier:self; 60, identifier:execute; 61, string; 62, identifier:key; 63, identifier:cursor; 64, list_splat; 65, call; 66, call; 67, string; 68, identifier:match; 69, string; 70, identifier:count; 71, string_content:ZSCAN; 72, identifier:args; 73, identifier:int; 74, argument_list; 75, identifier:pairs_int_or_float; 76, argument_list; 77, string_content:MATCH; 78, string_content:COUNT; 79, subscript; 80, subscript; 81, identifier:obj; 82, integer:0; 83, identifier:obj; 84, integer:1
code: def zscan(self, key, cursor=0, match=None, count=None):
          """Incrementally iterate sorted sets elements and associated scores."""
          args = []
          if match is not None:
              args += [b'MATCH', match]
          if count is not None:
              args += [b'COUNT', count]
          fut = self.execute(b'ZSCAN', key, cursor, *args)
  
          def _converter(obj):
              return (int(obj[0]), pairs_int_or_float(obj[1]))
  
          return wait_convert(fut, _converter)