# cf.FieldList.sort

`FieldList.``sort`(cmp=None, key=None, reverse=False)

  Stable sort of the field list IN PLACE

  By default the field list is sorted by the identities of its fields.

  New in version 1.0.4.

  See also

  `reverse`, `sorted`

  Examples 1: |

      >>> fl.sort()

  Parameters: | cmp: function, optional Specifies a custom comparison function of two arguments (iterable elements) which should return a negative, zero or positive number depending on whether the first argument is considered smaller than, equal to, or larger than the second argument. The default value is `None`. Example: `cmp=lambda x,y: cmp(x.lower(), y.lower())`. key: function, optional Specify a function of one argument that is used to extract a comparison key from each list element. By default fiel list is sorted by field identity, i.e. the default value of key is `lambda f: f.identity()`. reverse: `bool`, optional If set to True, then the list elements are sorted as if each comparison were reversed.
  Returns: | `None`
  Examples 2: |

      >>> fl
      [<CF Field: eastward_wind(time(3), air_pressure(5), grid_latitude(110), grid_longitude(106)) m s-1>,
       <CF Field: ocean_meridional_overturning_streamfunction(time(12), region(4), depth(40), latitude(180)) m3 s-1>,
       <CF Field: air_temperature(time(12), latitude(64), longitude(128)) K>,
       <CF Field: eastward_wind(time(3), air_pressure(5), grid_latitude(110), grid_longitude(106)) m s-1>]
      >>> fl.sort()
      >>> fl
      [<CF Field: air_temperature(time(12), latitude(64), longitude(128)) K>,
       <CF Field: eastward_wind(time(3), air_pressure(5), grid_latitude(110), grid_longitude(106)) m s-1>,
       <CF Field: eastward_wind(time(3), air_pressure(5), grid_latitude(110), grid_longitude(106)) m s-1>,
       <CF Field: ocean_meridional_overturning_streamfunction(time(12), region(4), depth(40), latitude(180)) m3 s-1>]
      >>> fl.sort(reverse=True)
      >>> fl
      [<CF Field: ocean_meridional_overturning_streamfunction(time(12), region(4), depth(40), latitude(180)) m3 s-1>,
       <CF Field: eastward_wind(time(3), air_pressure(5), grid_latitude(110), grid_longitude(106)) m s-1>,
       <CF Field: eastward_wind(time(3), air_pressure(5), grid_latitude(110), grid_longitude(106)) m s-1>,
       <CF Field: air_temperature(time(12), latitude(64), longitude(128)) K>]

      >>> [f.datum(0) for f in fl]
      [masked,
       -0.12850454449653625,
       -0.12850454449653625,
       236.51275634765625]
      >>> fl.sort(key=lambda f: f.datum(0), reverse=True)
      >>> [f.datum(0) for f in fl]
      [masked,
       236.51275634765625,
       -0.12850454449653625,
       -0.12850454449653625]

      >>> from operator import attrgetter
      >>> [f.long_name for f in fl]
      ['Meridional Overturning Streamfunction',
       'U COMPNT OF WIND ON PRESSURE LEVELS',
       'U COMPNT OF WIND ON PRESSURE LEVELS',
       'air_temperature']
      >>> fl.sort(cmp=lambda x,y: cmp(x.lower(), y.lower()), key=attrgetter('long_name'))
      >>> [f.long_name for f in fl]
      ['air_temperature',
       'Meridional Overturning Streamfunction',
       'U COMPNT OF WIND ON PRESSURE LEVELS',
       'U COMPNT OF WIND ON PRESSURE LEVELS']