From 2d802ad31b0016085461865df9fa06b39658e5b6 Mon Sep 17 00:00:00 2001 From: Alexander Hess Date: Mon, 30 Nov 2020 15:20:10 +0100 Subject: [PATCH] Add ideas for chapter 12 --- 12_iterators/11_iterators_00_content.ipynb | 273 +++++++++++++++++++++ 1 file changed, 273 insertions(+) create mode 100644 12_iterators/11_iterators_00_content.ipynb diff --git a/12_iterators/11_iterators_00_content.ipynb b/12_iterators/11_iterators_00_content.ipynb new file mode 100644 index 0000000..10846b9 --- /dev/null +++ b/12_iterators/11_iterators_00_content.ipynb @@ -0,0 +1,273 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Generator Functions" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "def make_fibonacci():\n", + " yield 0\n", + " yield 1\n", + "\n", + " a, b = 0, 1\n", + " while True:\n", + " a, b = b, a + b\n", + " yield b" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "fib = make_fibonacci()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 1 1 2 3 5 8 13 21 34 55 89 144 " + ] + } + ], + "source": [ + "for _ in range(13):\n", + " print(next(fib), end=\" \")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def make_fibonacci():\n", + "\n", + " a, b = 0, 1\n", + " while True:\n", + " yield a\n", + " a, b = b, a + b" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "fib = make_fibonacci()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 1 1 2 3 5 8 13 21 34 55 89 144 " + ] + } + ], + "source": [ + "for _ in range(13):\n", + " print(next(fib), end=\" \")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "forever" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "233" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "next(fib)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "def interleave(seq1, seq2):\n", + " it1 = iter(seq1)\n", + " it2 = iter(seq2)\n", + " while True:\n", + " yield next(it1)\n", + " yield next(it2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "yield from" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "def join(gen1, gen2):\n", + " yield from gen1\n", + " yield from gen2" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "def repeater(val):\n", + " while True:\n", + " yield val" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def flipper(val1, val2):\n", + " while True:\n", + " yield val1\n", + " yield val2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def counter(*, start=0):\n", + " start = int(start)\n", + " while True:\n", + " yield start\n", + " start +=1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "itertools module" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Iterator Objects" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.4" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": false, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}