b3j0f.utils.iterable module¶
Provides tools to manage iterable types.
-
b3j0f.utils.iterable.
isiterable
(element, exclude=None)[source]¶ Check whatever or not if input element is an iterable.
Parameters: - element – element to check among iterable types.
- exclude (type/tuple) – not allowed types in the test.
Example: >>> isiterable({}) True >>> isiterable({}, exclude=dict) False >>> isiterable({}, exclude=(dict,)) False
-
b3j0f.utils.iterable.
ensureiterable
(value, iterable=<type 'list'>, exclude=None)[source]¶ Convert a value into an iterable if it is not.
Parameters: Example: >>> ensureiterable([]) [] >>> ensureiterable([], iterable=tuple) () >>> ensureiterable('test', exclude=str) ['test'] >>> ensureiterable('test') ['t', 'e', 's', 't']
-
b3j0f.utils.iterable.
first
(iterable, default=None)[source]¶ Try to get input iterable first item or default if iterable is empty.
Parameters: - iterable (Iterable) – iterable to iterate on. Must provide the method __iter__.
- default – default value to get if input iterable is empty.
Raises: TypeError – if iterable is not an iterable value.
Example: >>> first('tests') 't' >>> first('', default='test') 'test' >>> first([]) None
-
b3j0f.utils.iterable.
last
(iterable, default=None)[source]¶ Try to get the last iterable item by successive iteration on it.
Parameters: - iterable (Iterable) – iterable to iterate on. Must provide the method __iter__.
- default – default value to get if input iterable is empty.
Raises: TypeError – if iterable is not an iterable value.
Example: >>> last('tests') 's' >>> last('', default='test') 'test' >>> last([]) None
-
b3j0f.utils.iterable.
itemat
(iterable, index)[source]¶ Try to get the item at index position in iterable after iterate on iterable items.
Parameters: - iterable – object which provides the method __getitem__ or __iter__.
- index (int) – item position to get.