|
1 | 1 | { |
2 | 2 | "metadata": { |
3 | 3 | "name": "", |
4 | | - "signature": "sha256:2d59017b21afaeadb093fa062632884c6d9d2e32933483326066a3219fba638c" |
| 4 | + "signature": "sha256:6ea19109869c82ee989c8ea0599ec49401e74246a542ad0b7b05f6ef464bda19" |
5 | 5 | }, |
6 | 6 | "nbformat": 3, |
7 | 7 | "nbformat_minor": 0, |
|
45 | 45 | " letters = [c for c in my_str.lower() if c in LOWERS]\n", |
46 | 46 | " return letters == letters[::-1]\n", |
47 | 47 | "\n", |
| 48 | + "LOWERS = set(string.ascii_lowercase)\n", |
| 49 | + "def palindrome_stringlib2(my_str):\n", |
| 50 | + " letters = [c for c in my_str.lower() if c in LOWERS]\n", |
| 51 | + " return letters == letters[::-1]\n", |
| 52 | + "\n", |
48 | 53 | "def palindrome_isalpha(my_str):\n", |
49 | 54 | " stripped_str = [l for l in my_str.lower() if l.isalpha()]\n", |
50 | 55 | " return stripped_str == stripped_str[::-1]\n", |
|
74 | 79 | "language": "python", |
75 | 80 | "metadata": {}, |
76 | 81 | "outputs": [], |
77 | | - "prompt_number": 7 |
| 82 | + "prompt_number": 10 |
78 | 83 | }, |
79 | 84 | { |
80 | 85 | "cell_type": "code", |
|
86 | 91 | "%timeit palindrome_short(test_str)\n", |
87 | 92 | "%timeit palindrome_regex(test_str)\n", |
88 | 93 | "%timeit palindrome_stringlib(test_str)\n", |
| 94 | + "%timeit palindrome_stringlib2(test_str)\n", |
89 | 95 | "%timeit palindrome_isalpha(test_str)\n", |
90 | 96 | "\n", |
91 | 97 | "print('\\n\\nfunctions considering all characters (case-sensitive)')\n", |
|
109 | 115 | "stream": "stdout", |
110 | 116 | "text": [ |
111 | 117 | "\n", |
112 | | - "10000 loops, best of 3: 20.2 \u00b5s per loop" |
| 118 | + "100000 loops, best of 3: 19.9 \u00b5s per loop" |
| 119 | + ] |
| 120 | + }, |
| 121 | + { |
| 122 | + "output_type": "stream", |
| 123 | + "stream": "stdout", |
| 124 | + "text": [ |
| 125 | + "\n", |
| 126 | + "100000 loops, best of 3: 13.5 \u00b5s per loop" |
113 | 127 | ] |
114 | 128 | }, |
115 | 129 | { |
116 | 130 | "output_type": "stream", |
117 | 131 | "stream": "stdout", |
118 | 132 | "text": [ |
119 | 133 | "\n", |
120 | | - "100000 loops, best of 3: 12 \u00b5s per loop" |
| 134 | + "100000 loops, best of 3: 8.58 \u00b5s per loop" |
121 | 135 | ] |
122 | 136 | }, |
123 | 137 | { |
124 | 138 | "output_type": "stream", |
125 | 139 | "stream": "stdout", |
126 | 140 | "text": [ |
127 | 141 | "\n", |
128 | | - "100000 loops, best of 3: 9.45 \u00b5s per loop" |
| 142 | + "100000 loops, best of 3: 9.42 \u00b5s per loop" |
129 | 143 | ] |
130 | 144 | }, |
131 | 145 | { |
|
136 | 150 | "\n", |
137 | 151 | "\n", |
138 | 152 | "functions considering all characters (case-sensitive)\n", |
139 | | - "1000000 loops, best of 3: 498 ns per loop" |
| 153 | + "1000000 loops, best of 3: 508 ns per loop" |
140 | 154 | ] |
141 | 155 | }, |
142 | 156 | { |
143 | 157 | "output_type": "stream", |
144 | 158 | "stream": "stdout", |
145 | 159 | "text": [ |
146 | 160 | "\n", |
147 | | - "100000 loops, best of 3: 3.28 \u00b5s per loop" |
| 161 | + "100000 loops, best of 3: 3.08 \u00b5s per loop" |
148 | 162 | ] |
149 | 163 | }, |
150 | 164 | { |
151 | 165 | "output_type": "stream", |
152 | 166 | "stream": "stdout", |
153 | 167 | "text": [ |
154 | 168 | "\n", |
155 | | - "1000000 loops, best of 3: 478 ns per loop" |
| 169 | + "1000000 loops, best of 3: 480 ns per loop" |
156 | 170 | ] |
157 | 171 | }, |
158 | 172 | { |
|
163 | 177 | ] |
164 | 178 | } |
165 | 179 | ], |
166 | | - "prompt_number": 8 |
| 180 | + "prompt_number": 11 |
167 | 181 | }, |
168 | 182 | { |
169 | 183 | "cell_type": "code", |
|
0 commit comments