| # pylint: disable=missing-docstring,too-few-public-methods,unused-variable,unnecessary-comprehension |
| import asyncio |
| |
| class AIter: |
| async def __aiter__(self): |
| for value in range(20): |
| yield value |
| |
| async def to_list(self): |
| values = [m async for m in self] |
| other_values = [m for m in self] # [not-an-iterable] |
| for value in self: # [not-an-iterable] |
| yield value |
| async for value in self: |
| yield value |
| |
| |
| async def some_iter_func(number): |
| """ emits 1 number per second """ |
| for i in range(1, number): |
| yield i |
| await asyncio.sleep(1) |
| |
| |
| async def count_to(number): |
| """ counts to n in async manner""" |
| async for i in some_iter_func(number): |
| print(i) |
| |
| |
| async def gen_values(num_values): |
| for value in range(num_values): |
| yield value |
| |
| |
| async def do_some_comprehensions(): |
| sets = {elem async for elem in gen_values(10)} |
| lists = [elem async for elem in gen_values(10)] |
| dicts = {elem: elem async for elem in gen_values(10)} |
| gen = (elem async for elem in gen_values(10)) |
| return sets, lists, dicts, gen |