schlichtanders.mygenerators module
mygenerators encompasses many useful generators in order to work with for loops and the like in a nice way.
I can recommend all, especially chunk, history, merge and product
-
schlichtanders.mygenerators.accumulate(iterable, func=<built-in function add>, base=None)[source]
Return running totals
-
schlichtanders.mygenerators.call(funcs, *args, **kwargs)[source]
-
schlichtanders.mygenerators.chunk(chunk_size, iterable)[source]
-
schlichtanders.mygenerators.chunk_list(chunk_size, iterable)[source]
-
schlichtanders.mygenerators.compress_idx(data, selectors)[source]
Return data elements where indexes correspond to selector elements.
Forms a shorter iterator from selected data elements using the
selectors to choose the data elements.
-
schlichtanders.mygenerators.converge(func, initial, stop_criterion=<function <lambda>>)[source]
-
schlichtanders.mygenerators.converge_stepwise(func, initial, *ARGS, **kwargs)[source]
-
schlichtanders.mygenerators.cycle_permute(listlike)[source]
-
schlichtanders.mygenerators.deepflatten(maybe_iterable)[source]
flattens out everything
-
schlichtanders.mygenerators.deleteallbutone(elm, l)[source]
-
schlichtanders.mygenerators.eat(gen, n=1)[source]
-
schlichtanders.mygenerators.eatN(N, iterator)[source]
just eats the first N iterator elements away (kind of a delete)
essentially this is a flipped version of eat
| Parameters: |
- N – how much to eat
- iterator – to be eaten
|
| Returns: | iterator[N::] kind of
|
-
schlichtanders.mygenerators.enumerate_(iterable)[source]
-
schlichtanders.mygenerators.every(nth, iterable)[source]
-
schlichtanders.mygenerators.hist(iterable, history_size=1, filler='None')
-
schlichtanders.mygenerators.history(iterable, history_size=1, filler='None')[source]
-
schlichtanders.mygenerators.int_exponentials(base=2)[source]
-
schlichtanders.mygenerators.iter_args(args)[source]
-
schlichtanders.mygenerators.iter_kwargs(kwargs)[source]
-
schlichtanders.mygenerators.merge(*args)[source]
merges args into an already existing list of tuples structure (e.g. created by previous zip or product)
-
schlichtanders.mygenerators.merge_dyn(*args)[source]
merges args into an already existing list of tuples structure (e.g. created by previous zip or product)
slightly slower, but less code =), and more dynamic
-
schlichtanders.mygenerators.pipe_stepwise(vec, *transforms)[source]
-
schlichtanders.mygenerators.product(*args)[source]
-
schlichtanders.mygenerators.recurse(func, initial, stop_criterion=<function <lambda>>)[source]
-
schlichtanders.mygenerators.recurse_stepwise(func, initial, *ARGS, **kwargs)[source]
-
schlichtanders.mygenerators.replicate(func, *args, **kwargs)[source]
repeatedly calls the function with given args/kwargs
the name is choosen to match R replicate
-
schlichtanders.mygenerators.run(gen)[source]
-
schlichtanders.mygenerators.shallowflatten(maybe_iterable)[source]
-
schlichtanders.mygenerators.succint_exponentials(base=2)[source]
-
schlichtanders.mygenerators.takeN(n, iterable)[source]
-
schlichtanders.mygenerators.takewhile1(predicate, iterable)[source]
-
schlichtanders.mygenerators.time_gen(generator)[source]