Added zip snippets. Tweaked some variables used in snippets.

This commit is contained in:
Donne Martin 2015-01-25 12:41:04 -05:00
parent a152e86d58
commit d3482764e8

View File

@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:a7df82135c56674dfb56c48aead92e0e7fe6ce1bdc8cdbc48eb820284aa24f65"
"signature": "sha256:1b00dc5f93dc04f5ceb60a1b234ce2928c259b6ddbe2604d075cbf5f5d51a97f"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -54,7 +54,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
"a_list = [1, 2, 3]"
"list_1 = [1, 2, 3]"
],
"language": "python",
"metadata": {},
@ -72,7 +72,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
"type(tuple(a_list))"
"type(tuple(list_1))"
],
"language": "python",
"metadata": {},
@ -329,8 +329,8 @@
"cell_type": "code",
"collapsed": false,
"input": [
"a_list = [1, 2, 3]\n",
"a_list"
"list_1 = [1, 2, 3]\n",
"list_1"
],
"language": "python",
"metadata": {},
@ -338,13 +338,13 @@
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 12,
"prompt_number": 39,
"text": [
"[1, 2, 3]"
]
}
],
"prompt_number": 12
"prompt_number": 39
},
{
"cell_type": "markdown",
@ -640,9 +640,9 @@
"cell_type": "code",
"collapsed": false,
"input": [
"a_list = [1, 5, 3, 9, 7, 6]\n",
"a_list.sort()\n",
"a_list"
"seq = [1, 5, 3, 9, 7, 6]\n",
"seq.sort()\n",
"seq"
],
"language": "python",
"metadata": {},
@ -669,9 +669,9 @@
"cell_type": "code",
"collapsed": false,
"input": [
"b_list = ['the', 'quick', 'brown', 'fox', 'jumps', 'over']\n",
"b_list.sort(key=len)\n",
"b_list"
"seq = ['the', 'quick', 'brown', 'fox', 'jumps', 'over']\n",
"seq.sort(key=len)\n",
"seq"
],
"language": "python",
"metadata": {},
@ -723,8 +723,8 @@
"cell_type": "code",
"collapsed": false,
"input": [
"c_list = [1, 2, 2, 3, 5, 13]\n",
"bisect.bisect(c_list, 8)"
"seq = [1, 2, 2, 3, 5, 13]\n",
"bisect.bisect(seq, 8)"
],
"language": "python",
"metadata": {},
@ -751,8 +751,8 @@
"cell_type": "code",
"collapsed": false,
"input": [
"bisect.insort(c_list, 8)\n",
"c_list"
"bisect.insort(seq, 8)\n",
"seq"
],
"language": "python",
"metadata": {},
@ -793,8 +793,8 @@
"cell_type": "code",
"collapsed": false,
"input": [
"d_list = 'Monty Python'\n",
"d_list[6:10]"
"seq = 'Monty Python'\n",
"seq[6:10]"
],
"language": "python",
"metadata": {},
@ -821,7 +821,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
"d_list[:5]"
"seq[:5]"
],
"language": "python",
"metadata": {},
@ -848,7 +848,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
"d_list[6:]"
"seq[6:]"
],
"language": "python",
"metadata": {},
@ -875,7 +875,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
"d_list[-12:-7]"
"seq[-12:-7]"
],
"language": "python",
"metadata": {},
@ -902,7 +902,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
"d_list[::2]"
"seq[::2]"
],
"language": "python",
"metadata": {},
@ -929,7 +929,7 @@
"cell_type": "code",
"collapsed": false,
"input": [
"d_list[::-1]"
"seq[::-1]"
],
"language": "python",
"metadata": {},
@ -956,9 +956,9 @@
"cell_type": "code",
"collapsed": false,
"input": [
"e_list = [1, 1, 2, 3, 5, 8, 13]\n",
"e_list[5:] = ['H', 'a', 'l', 'l']\n",
"e_list"
"seq = [1, 1, 2, 3, 5, 8, 13]\n",
"seq[5:] = ['H', 'a', 'l', 'l']\n",
"seq"
],
"language": "python",
"metadata": {},
@ -985,9 +985,9 @@
"cell_type": "code",
"collapsed": false,
"input": [
"e_list = [1, 1, 2, 3, 5, 8, 13]\n",
"e_list[5] = ['H', 'a', 'l', 'l']\n",
"e_list"
"seq = [1, 1, 2, 3, 5, 8, 13]\n",
"seq[5] = ['H', 'a', 'l', 'l']\n",
"seq"
],
"language": "python",
"metadata": {},
@ -1084,6 +1084,156 @@
}
],
"prompt_number": 38
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## zip"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pairs up the elements of sequences to create a list of tuples"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"seq_1 = [1, 2, 3]\n",
"seq_2 = ['foo', 'bar', 'baz']\n",
"zip(seq_1, seq_2)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 41,
"text": [
"[(1, 'foo'), (2, 'bar'), (3, 'baz')]"
]
}
],
"prompt_number": 41
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Takes an arbitrary number of sequences. The number of elements it produces is determined by the shortest sequence."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"seq_3 = [True, False]\n",
"zip(seq_1, seq_2, seq_3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 42,
"text": [
"[(1, 'foo', True), (2, 'bar', False)]"
]
}
],
"prompt_number": 42
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It is common to use zip for simultaneously iterating over multiple sequences combined with enumerate"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"for i, (a, b) in enumerate(zip(seq_1, seq_2)):\n",
" print('%d: %s, %s' % (i, a, b))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"0: 1, foo\n",
"1: 2, bar\n",
"2: 3, baz\n"
]
}
],
"prompt_number": 43
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"zip can unzip a zipped sequence, which you can think of as converting a list of rows into a list of columns"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"numbers = [(1, 'one'), (2, 'two'), (3, 'three')]\n",
"a, b = zip(*numbers)\n",
"a"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 47,
"text": [
"(1, 2, 3)"
]
}
],
"prompt_number": 47
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"b"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 48,
"text": [
"('one', 'two', 'three')"
]
}
],
"prompt_number": 48
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}