code: def aggcv(rlist):
      # pylint: disable=invalid-name
      
      cvmap = {}
      idx = rlist[0].split()[0]
      for line in rlist:
          arr = line.split()
          assert idx == arr[0]
          for it in arr[1:]:
              if not isinstance(it, STRING_TYPES):
                  it = it.decode()
              k, v = it.split(':')
              if k not in cvmap:
                  cvmap[k] = []
              cvmap[k].append(float(v))
      msg = idx
      results = []
      for k, v in sorted(cvmap.items(), key=lambda x: (x[0].startswith('test'), x[0])):
          v = np.array(v)
          if not isinstance(msg, STRING_TYPES):
              msg = msg.decode()
          mean, std = np.mean(v), np.std(v)
          results.extend([(k, mean, std)])
      return results
docs: Aggregate cross-validation results.
  
      If verbose_eval is true, progress is displayed in every call. If
      verbose_eval is an integer, progress will only be displayed every
      `verbose_eval` trees, tracked via trial.