collection
#
Common collection classes.
Classes#
Sub-classes dict, and further allows attribute-like access to dictionary items. |
Functions#
|
|
|
Give the first value that satisfies the key test. |
|
- make_immutable(value)#
- class AttrDict(*args, **kwargs)#
Bases:
dict
Sub-classes dict, and further allows attribute-like access to dictionary items.
Examples
>>> d = AttrDict({'a': 1}) >>> d.a, d['a'], d.get('a') (1, 1, 1) >>> d.b = 2 >>> d.b, d['b'] (2, 2)
Initialize self. See help(type(self)) for accurate signature.
- first(seq, key=bool, default=None, apply=lambda x: ...)#
Give the first value that satisfies the key test.
- Parameters:
seq (iterable)
key (callable) -- test for each element of iterable
default -- returned when all elements fail test
apply (callable) -- applied to element before return, but not to default value
Returns: first element in seq that passes key, mutated with optional apply
Examples
>>> first([0, False, None, [], (), 42]) 42 >>> first([0, False, None, [], ()]) is None True >>> first([0, False, None, [], ()], default='ohai') 'ohai' >>> import re >>> m = first(re.match(regex, 'abc') for regex in ['b.*', 'a(.*)']) >>> m.group(1) 'bc'
The optional key argument specifies a one-argument predicate function like that used for filter(). The key argument, if supplied, must be in keyword form. For example: >>> first([1, 1, 3, 4, 5], key=lambda x: x % 2 == 0) 4
- last(seq, key=bool, default=None, apply=lambda x: ...)#