code: def names(self):
          
          d = defaultdict(list)
          for code, name in target_name_pairs:
              if code in self.codes:
                  d[code].append(name)
          return dict(d)
docs: Return all target names that are valid with this kernel.
  
          >>> pprint(planets.names())
          {0: ['SOLAR_SYSTEM_BARYCENTER', 'SSB', 'SOLAR SYSTEM BARYCENTER'],
           1: ['MERCURY_BARYCENTER', 'MERCURY BARYCENTER'],
           2: ['VENUS_BARYCENTER', 'VENUS BARYCENTER'],
           3: ['EARTH_BARYCENTER',
               'EMB',
           ...
  
          The result is a dictionary with target code keys and name lists
          as values.  The last name in each list is the one that Skyfield
          uses when printing information about a body.