Created
November 15, 2012 18:45
-
-
Save stefanv/4080392 to your computer and use it in GitHub Desktop.
Dictionary exercise
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "metadata": { | |
| "name": "dictionaries" | |
| }, | |
| "nbformat": 3, | |
| "nbformat_minor": 0, | |
| "worksheets": [ | |
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "# Dictionaries" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### Constructing a dictionary" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "d = {'hello': 'A greeting'}" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 1 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "d['hello']" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "pyout", | |
| "prompt_number": 2, | |
| "text": [ | |
| "'A greeting'" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 2 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Here 'hello' is called the **key** and 'A greeting' is the **value**." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### A more general dictionary" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "k = {'hello': 'A greeting', 1: 'One'}\n", | |
| "k[1]" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "pyout", | |
| "prompt_number": 4, | |
| "text": [ | |
| "'One'" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 4 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Note that now the **key** is a number and the **value** is a string." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### Modifying a dictionary" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "y = {1: 2, 3: 4}\n", | |
| "y[1] = y[1] + 1\n", | |
| "\n", | |
| "y[1]" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "pyout", | |
| "prompt_number": 6, | |
| "text": [ | |
| "3" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 6 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### Worked examples" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "## Construct a dictionary that maps three words to three sentences\n", | |
| "oxford = {...}" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "my_dict = {'hello': 'world'}\n", | |
| "... ## look up 'hello', should return 'world'" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 7 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "## Construct a dictionary that maps three numbers to three words\n", | |
| "number_map = {...}" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "concept_map = {...}\n", | |
| "concept_map['donkey'] ## should return \"is an animal\"" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "histogram = {'a': 5, 'b': 7, 'd': 9}\n", | |
| "... # increase the count of 'b' by 2\n", | |
| "histogram['b'] # should yield 9 " | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "# Advanced challenge: use the histogram above, and generate a list\n", | |
| "# containing the corresponding items.\n", | |
| "#\n", | |
| "# E.g., histogram = {'a': 3, 'b': 2} => ['a', 'a', 'a', 'b', 'b']\n", | |
| "# histogram = {'a': 1, 'd': 4} => ['a', 'd', 'd', 'd', 'd']\n", | |
| "\n", | |
| "output = []\n", | |
| "for key in histogram:\n", | |
| " ..." | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### Real-world example\n", | |
| "\n", | |
| "When trying to break simple ciphers (e.g., <http://en.wikipedia.org/wiki/Substitution_cipher>) it is\n", | |
| "often useful to count the number of times each letter occurs in a piece of text. In the following example,\n", | |
| "we count such occurrences and plot them." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "text = \"\"\"\n", | |
| "Hereupon Legrand arose, with a grave and stately air, and brought me the beetle\n", | |
| "from a glass case in which it was enclosed. It was a beautiful scarabaeus, and, at\n", | |
| "that time, unknown to naturalists\u2014of course a great prize in a scientific point\n", | |
| "of view. There were two round black spots near one extremity of the back, and a\n", | |
| "long one near the other. The scales were exceedingly hard and glossy, with all the\n", | |
| "appearance of burnished gold. The weight of the insect was very remarkable, and,\n", | |
| "taking all things into consideration, I could hardly blame Jupiter for his opinion\n", | |
| "respecting it.\"\"\"" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 18 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "frequency = {}\n", | |
| "alphabet = 'abcdefghijklmnopqrstuvwxyz'\n", | |
| "for l in alphabet:\n", | |
| " frequency[l] = 0\n", | |
| "\n", | |
| "for l in text.lower():\n", | |
| " if l and l in alphabet:\n", | |
| " frequency[l] += 1\n", | |
| "\n", | |
| "print frequency" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "{'a': 48, 'c': 16, 'b': 9, 'e': 58, 'd': 16, 'g': 13, 'f': 9, 'i': 34, 'h': 22, 'k': 5, 'j': 1, 'm': 6, 'l': 21, 'o': 30, 'n': 35, 'q': 0, 'p': 9, 's': 27, 'r': 31, 'u': 12, 't': 41, 'w': 12, 'v': 3, 'y': 6, 'x': 2, 'z': 1}\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 19 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "import numpy as np\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "\n", | |
| "x = np.arange(26)\n", | |
| "f = [frequency[alphabet[l]] for l in x]\n", | |
| "\n", | |
| "plt.stem(x, f)\n", | |
| "plt.xticks(x, alphabet);" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "display_data", | |
| "png": "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\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x3ce7810>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 20 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Now, have a look at this Morse code table. Is there any correlation between the *length* of each\n", | |
| "code and the table above?\n", | |
| "<p/>\n", | |
| "<img src=\"http://upload.wikimedia.org/wikipedia/commons/b/b5/International_Morse_Code.svg\" width=\"300px\"/>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [] | |
| } | |
| ], | |
| "metadata": {} | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment