nodes: 0, module; 1, function_definition; 2, function_name:array_keys; 3, parameters; 4, block; 5, identifier:self; 6, expression_statement; 7, for_statement; 8, comment:"""Return an iterator over member names for arrays only.
  
          Examples
          --------
          >>> import zarr
          >>> g1 = zarr.group()
          >>> g2 = g1.create_group('foo')
          >>> g3 = g1.create_group('bar')
          >>> d1 = g1.create_dataset('baz', shape=100, chunks=10)
          >>> d2 = g1.create_dataset('quux', shape=200, chunks=20)
          >>> sorted(g1.array_keys())
          ['baz', 'quux']
  
          """; 9, identifier:key; 10, call; 11, block; 12, identifier:sorted; 13, argument_list; 14, expression_statement; 15, if_statement; 16, call; 17, assignment; 18, call; 19, block; 20, identifier:listdir; 21, argument_list; 22, identifier:path; 23, binary_operator:self._key_prefix + key; 24, identifier:contains_array; 25, argument_list; 26, expression_statement; 27, attribute; 28, attribute; 29, attribute; 30, identifier:key; 31, attribute; 32, identifier:path; 33, yield; 34, identifier:self; 35, identifier:_store; 36, identifier:self; 37, identifier:_path; 38, identifier:self; 39, identifier:_key_prefix; 40, identifier:self; 41, identifier:_store; 42, identifier:key
code: def array_keys(self):
          """Return an iterator over member names for arrays only.
  
          Examples
          --------
          >>> import zarr
          >>> g1 = zarr.group()
          >>> g2 = g1.create_group('foo')
          >>> g3 = g1.create_group('bar')
          >>> d1 = g1.create_dataset('baz', shape=100, chunks=10)
          >>> d2 = g1.create_dataset('quux', shape=200, chunks=20)
          >>> sorted(g1.array_keys())
          ['baz', 'quux']
  
          """
          for key in sorted(listdir(self._store, self._path)):
              path = self._key_prefix + key
              if contains_array(self._store, path):
                  yield key