4 "signature": "sha256:796179cdb4347de4d86a7db09f3e024ef710983a025f30cfe2a424e9a755bc6b"
15 "members = ['Freddie', 'Brian', 'Roger', 'John']\n",
16 "tour_lineup = members\n",
17 "tour_lineup[0] = 'Paul'\n",
18 "print(tour_lineup)\n",
25 "output_type": "stream",
28 "['Paul', 'Brian', 'Roger', 'John']\n",
29 "['Paul', 'Brian', 'Roger', 'John']\n"
46 "output_type": "pyout",
59 "members = ['Freddie', 'Brian', 'Roger', 'John']\n",
60 "tour_lineup = members\n",
61 "tour_lineup == members"
68 "output_type": "pyout",
81 "tour_lineup = members[:]\n",
82 "tour_lineup == members"
89 "output_type": "pyout",
102 "tour_lineup is members"
104 "language": "python",
109 "output_type": "pyout",
122 "[(a, b, int((a**2 + b**2)**0.5)) \n",
123 " for a in range(1, 20) \n",
124 " for b in range(a, 20) \n",
125 " if int((a**2 + b**2)**0.5) == (a**2 + b**2)**0.5]"
127 "language": "python",
132 "output_type": "pyout",
135 "[(3, 4, 5), (5, 12, 13), (6, 8, 10), (8, 15, 17), (9, 12, 15), (12, 16, 20)]"
145 "GRID_STRING = \"\"\"08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08\n",
146 "49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00\n",
147 "81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65\n",
148 "52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91\n",
149 "22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80\n",
150 "24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50\n",
151 "32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70\n",
152 "67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21\n",
153 "24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72\n",
154 "21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95\n",
155 "78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92\n",
156 "16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57\n",
157 "86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58\n",
158 "19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40\n",
159 "04 52 08 83 97 35 99 16 07 97 57 32 16 26 26 79 33 27 98 66\n",
160 "88 36 68 87 57 62 20 72 03 46 33 67 46 55 12 32 63 93 53 69\n",
161 "04 42 16 73 38 25 39 11 24 94 72 18 08 46 29 32 40 62 76 36\n",
162 "20 69 36 41 72 30 23 88 34 62 99 69 82 67 59 85 74 04 36 16\n",
163 "20 73 35 29 78 31 90 01 74 31 49 71 48 86 81 16 23 57 05 54\n",
164 "01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01 89 19 67 48\"\"\"\n",
165 "ROWS = COLUMNS = 20"
167 "language": "python",
176 "grid_nums = [int(n) for n in GRID_STRING.split()]\n",
179 "language": "python",
184 "output_type": "pyout",
597 "for rowstart in range(0, ROWS * COLUMNS, COLUMNS):\n",
598 " g1.append(grid_nums[rowstart:rowstart+COLUMNS])\n",
601 "language": "python",
606 "output_type": "pyout",
609 "[[8, 2, 22, 97, 38, 15, 0, 40, 0, 75, 4, 5, 7, 78, 52, 12, 50, 77, 91, 8],\n",
650 " [52, 70, 95, 23, 4, 60, 11, 42, 69, 24, 68, 56, 1, 32, 56, 71, 37, 2, 36, 91],\n",
751 " [21, 36, 23, 9, 75, 0, 76, 44, 20, 45, 35, 14, 0, 61, 33, 97, 34, 31, 33, 95],\n",
752 " [78, 17, 53, 28, 22, 75, 31, 67, 15, 94, 3, 80, 4, 62, 16, 14, 9, 53, 56, 92],\n",
773 " [86, 56, 0, 48, 35, 71, 89, 7, 5, 44, 44, 37, 44, 60, 21, 58, 51, 54, 17, 58],\n",
794 " [4, 52, 8, 83, 97, 35, 99, 16, 7, 97, 57, 32, 16, 26, 26, 79, 33, 27, 98, 66],\n",
905 "for x in range(COLUMNS):\n",
906 " for y in range(ROWS):\n",
907 " g2[(x, y)] = grid_nums[x + y * COLUMNS]\n",
910 "language": "python",
915 "output_type": "pyout",
1324 "cell_type": "code",
1329 "language": "python",
1334 "output_type": "pyout",
1335 "prompt_number": 11,
1344 "cell_type": "code",
1347 "g3 = [grid_nums[row * COLUMNS:(row+1) * COLUMNS] for row in range(ROWS)]\n",
1350 "language": "python",
1355 "output_type": "pyout",
1356 "prompt_number": 12,
1358 "[[8, 2, 22, 97, 38, 15, 0, 40, 0, 75, 4, 5, 7, 78, 52, 12, 50, 77, 91, 8],\n",
1399 " [52, 70, 95, 23, 4, 60, 11, 42, 69, 24, 68, 56, 1, 32, 56, 71, 37, 2, 36, 91],\n",
1500 " [21, 36, 23, 9, 75, 0, 76, 44, 20, 45, 35, 14, 0, 61, 33, 97, 34, 31, 33, 95],\n",
1501 " [78, 17, 53, 28, 22, 75, 31, 67, 15, 94, 3, 80, 4, 62, 16, 14, 9, 53, 56, 92],\n",
1522 " [86, 56, 0, 48, 35, 71, 89, 7, 5, 44, 44, 37, 44, 60, 21, 58, 51, 54, 17, 58],\n",
1543 " [4, 52, 8, 83, 97, 35, 99, 16, 7, 97, 57, 32, 16, 26, 26, 79, 33, 27, 98, 66],\n",
1650 "cell_type": "code",
1653 "g4 = {(x, y): grid_nums[x + y * COLUMNS] \n",
1654 " for x in range(COLUMNS) \n",
1655 " for y in range(ROWS)}\n",
1658 "language": "python",
1663 "output_type": "pyout",
1664 "prompt_number": 13,
2072 "cell_type": "code",
2075 "g4s = {(x, y): int(GRID_STRING[(x + y * COLUMNS) * 3:(x + y * COLUMNS) * 3 + 2]) \n",
2076 " for x in range(COLUMNS) \n",
2077 " for y in range(ROWS)}\n",
2080 "language": "python",
2085 "output_type": "pyout",
2086 "prompt_number": 14,
2494 "cell_type": "code",
2499 "language": "python",
2504 "output_type": "pyout",
2505 "prompt_number": 15,
2514 "cell_type": "code",
2520 "language": "python",
2524 "ename": "KeyError",
2526 "output_type": "pyerr",
2528 "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mKeyError\u001b[0m Traceback (most recent call last)",
2529 "\u001b[1;32m<ipython-input-16-fb0bb5c8abf1>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0md\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0md\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m99\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
2530 "\u001b[1;31mKeyError\u001b[0m: 99"
2537 "cell_type": "code",
2540 "import collections\n",
2541 "d = collections.defaultdict(int)\n",
2544 "language": "python",
2549 "output_type": "pyout",
2550 "prompt_number": 17,
2559 "cell_type": "code",
2563 "collections.Counter(l for l in open('sherlock-holmes.txt').read()\n",
2564 " if l in string.ascii_letters)"
2566 "language": "python",
2571 "output_type": "pyout",
2572 "prompt_number": 18,
2574 "Counter({'e': 52876, 't': 37842, 'a': 34376, 'o': 33200, 'n': 28378, 'h': 27803, 's': 26432, 'i': 26366, 'r': 24304, 'd': 18349, 'l': 16854, 'u': 13070, 'm': 11055, 'w': 10508, 'c': 10172, 'y': 8976, 'f': 8785, 'g': 7733, 'p': 6652, 'b': 5883, 'v': 4367, 'I': 3774, 'k': 3465, 'H': 1244, 'T': 1139, 'S': 762, 'A': 761, 'W': 758, 'M': 732, 'x': 541, 'B': 479, 'Y': 455, 'q': 406, 'j': 338, 'C': 327, 'O': 312, 'N': 304, 'L': 291, 'E': 235, 'D': 214, 'R': 204, 'F': 190, 'P': 183, 'G': 154, 'z': 147, 'J': 114, 'V': 85, 'K': 78, 'U': 46, 'Q': 20, 'X': 8, 'Z': 2})"
2581 "cell_type": "code",
2585 " for a in range(1, 21) \n",
2586 " for b in range(a, 21)\n",
2587 " for c in range(b, 21)\n",
2588 " if a**2 + b**2 == c**2]"
2590 "language": "python",
2595 "output_type": "pyout",
2596 "prompt_number": 19,
2598 "[(3, 4, 5), (5, 12, 13), (6, 8, 10), (8, 15, 17), (9, 12, 15), (12, 16, 20)]"
2605 "cell_type": "code",
2610 "language": "python",
2615 "output_type": "pyout",
2616 "prompt_number": 20,
2618 "[[8, 2, 22, 97, 38, 15, 0, 40, 0, 75, 4, 5, 7, 78, 52, 12, 50, 77, 91, 8],\n",
2659 " [52, 70, 95, 23, 4, 60, 11, 42, 69, 24, 68, 56, 1, 32, 56, 71, 37, 2, 36, 91],\n",
2760 " [21, 36, 23, 9, 75, 0, 76, 44, 20, 45, 35, 14, 0, 61, 33, 97, 34, 31, 33, 95],\n",
2761 " [78, 17, 53, 28, 22, 75, 31, 67, 15, 94, 3, 80, 4, 62, 16, 14, 9, 53, 56, 92],\n",
2782 " [86, 56, 0, 48, 35, 71, 89, 7, 5, 44, 44, 37, 44, 60, 21, 58, 51, 54, 17, 58],\n",
2803 " [4, 52, 8, 83, 97, 35, 99, 16, 7, 97, 57, 32, 16, 26, 26, 79, 33, 27, 98, 66],\n",
2910 "cell_type": "code",
2913 "[n for row in g1 for n in row]"
2915 "language": "python",
2920 "output_type": "pyout",
2921 "prompt_number": 21,
3329 "cell_type": "code",
3335 "language": "python",
3341 "cell_type": "code",
3346 "language": "python",
3351 "output_type": "pyout",
3352 "prompt_number": 23,
3354 "[('h', '_'), ('e', '_'), ('l', 'l'), ('l', 'l'), ('o', '_')]"
3361 "cell_type": "code",
3364 "def match_positive(pattern, target):\n",
3365 " if len(pattern) != len(target):\n",
3367 " for m, c in zip(pattern, target):\n",
3368 " if m != '_' and m != c:\n",
3372 "language": "python",
3378 "cell_type": "code",
3381 "match_positive('he__o', 'hello')"
3383 "language": "python",
3388 "output_type": "pyout",
3389 "prompt_number": 38,
3398 "cell_type": "code",
3401 "def match(pattern, target, excluded=None):\n",
3402 " if not excluded:\n",
3404 " if len(pattern) != len(target):\n",
3406 " for m, c in zip(pattern, target):\n",
3407 " if m == '_' and c not in excluded:\n",
3410 " elif m != '_' and m == c:\n",
3417 "language": "python",
3423 "cell_type": "code",
3426 "match('__l_o', 'hello', 'def')"
3428 "language": "python",
3433 "output_type": "pyout",
3434 "prompt_number": 60,
3443 "cell_type": "code",
3446 "'_' == '_' and 'l' not in 'xyz'"
3448 "language": "python",
3453 "output_type": "pyout",
3454 "prompt_number": 48,
3463 "cell_type": "code",
3466 "language": "python",