cf.FieldList.sort¶
-
FieldList.
sort
(key=None, reverse=False)[source]¶ Sort of the field list in place.
By default the field list is sorted by the identities of its field construct elements.
The sort is stable.
New in version 1.0.4.
See also
- Parameters
- key: function, optional
Specify a function of one argument that is used to extract a comparison key from each field construct. By default the field 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 field list elements are sorted as if each comparison were reversed.
- Returns
Examples:
>>> 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(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']