code: def _shannon_radii_from_cn(species_list, cn_roman, radius_to_compare=0):
      
      shannon_radii = []
  
      for s in species_list:
          try:
              radius = s.get_shannon_radius(cn_roman)
              shannon_radii.append({
                  'species': s, 'radius': radius,
                  'radii_diff': radius - radius_to_compare})
          except KeyError:
              pass
  
      return shannon_radii
docs: Utility func to get Shannon radii for a particular coordination number.
  
      As the Shannon radii depends on charge state and coordination number,
      species without an entry for a particular coordination number will
      be skipped.
  
      Args:
          species_list (list): A list of Species to get the Shannon radii for.
          cn_roman (str): The coordination number as a roman numeral. See
              Specie.get_shannon_radius for more details.
          radius_to_compare (float, optional): If set, the data will be returned
              with a "radii_diff" key, containing the difference between the
              shannon radii and this radius.
  
      Returns:
          (list of dict): The Shannon radii for all Species in species. Formatted
          as a list of dictionaries, with the keys:
  
          - "species": The species with charge state.
          - "radius": The Shannon radius for the species.
          - "radius_diff": The difference between the Shannon radius and the
              radius_to_compare optional argument.