ScaleFromSet¶
-
class
whalrus.
ScaleFromSet
(levels: set)[source]¶ Scale derived from a set.
- Parameters
levels (set) – A set of comparable objects. It is recommended that they are also hashable.
Examples
Typical usage:
>>> scale = ScaleFromSet({-1, 0, 2})
A more complex example:
>>> class Appreciation: ... VALUES = {'Excellent': 2, 'Good': 1, 'Medium': 0} ... def __init__(self, x): ... self.x = x ... def __repr__(self): ... return 'Appreciation(%r)' % self.x ... def __hash__(self): ... return hash(self.x) ... def __lt__(self, other): ... return Appreciation.VALUES[self.x] < Appreciation.VALUES[other.x] >>> scale = ScaleFromSet({Appreciation('Excellent'), Appreciation('Good'), ... Appreciation('Medium')}) >>> scale.lt(Appreciation('Medium'), Appreciation('Good')) True >>> scale.low Appreciation('Medium') >>> scale.high Appreciation('Excellent')
-
argsort
(some_list: list, reverse: bool = False) → list¶ Examples
>>> scale = ScaleFromList(['Bad', 'Medium', 'Good', 'Very good', 'Excellent']) >>> scale.argsort(['Good', 'Bad', 'Excellent']) [1, 0, 2]
-
compare
(one: object, another: object) → int¶ Compare two levels.
- Parameters
one (object) – A level.
another (object) – A level.
- Returns
0 if they are equal, a positive number if
one
is greater thananother
, a negative number otherwise.- Return type
int
Examples
>>> Scale().compare('a', 'z') -1
-
property
high
¶ >>> scale = ScaleFromList(['Bad', 'Medium', 'Good', 'Very good', 'Excellent']) >>> scale.high 'Excellent'
-
property
low
¶ >>> scale = ScaleFromList(['Bad', 'Medium', 'Good', 'Very good', 'Excellent']) >>> scale.low 'Bad'
-
lt
(one: object, another: object) → bool[source]¶ Examples
>>> scale = ScaleFromSet({-1, 0, 2}) >>> scale.lt(0, 2) True
-
max
(iterable: Iterable) → object¶ Examples
>>> scale = ScaleFromList(['Bad', 'Medium', 'Good', 'Very good', 'Excellent']) >>> scale.max(['Good', 'Bad', 'Excellent']) 'Excellent'
-
min
(iterable: Iterable) → object¶ Examples
>>> scale = ScaleFromList(['Bad', 'Medium', 'Good', 'Very good', 'Excellent']) >>> scale.min(['Good', 'Bad', 'Excellent']) 'Bad'
-
sort
(some_list: list, reverse: bool = False) → None¶ Examples
>>> scale = ScaleFromList(['Bad', 'Medium', 'Good', 'Very good', 'Excellent']) >>> some_list = ['Good', 'Bad', 'Excellent'] >>> scale.sort(some_list) >>> some_list ['Bad', 'Good', 'Excellent']