|
2159 | 2159 | }, |
2160 | 2160 | { |
2161 | 2161 | "cell_type": "code", |
2162 | | - "execution_count": 69, |
| 2162 | + "execution_count": 4, |
2163 | 2163 | "metadata": {}, |
2164 | 2164 | "outputs": [ |
2165 | 2165 | { |
2166 | 2166 | "name": "stdout", |
2167 | 2167 | "output_type": "stream", |
2168 | 2168 | "text": [ |
2169 | | - " 1 0 LOAD_NAME 0 (s)\n", |
2170 | | - " 2 LOAD_NAME 1 (a)\n", |
2171 | | - " 4 DUP_TOP_TWO\n", |
2172 | | - " 6 BINARY_SUBSCR\n", |
2173 | | - " 8 LOAD_NAME 2 (b)\n", |
2174 | | - " 10 INPLACE_ADD\n", |
2175 | | - " 12 ROT_THREE\n", |
2176 | | - " 14 STORE_SUBSCR\n", |
2177 | | - " 16 LOAD_CONST 0 (None)\n", |
2178 | | - " 18 RETURN_VALUE\n" |
| 2169 | + " 0 RESUME 0\n", |
| 2170 | + "\n", |
| 2171 | + " 1 LOAD_NAME 0 (s)\n", |
| 2172 | + " LOAD_NAME 1 (a)\n", |
| 2173 | + " COPY 2\n", |
| 2174 | + " COPY 2\n", |
| 2175 | + " BINARY_OP 26 ([])\n", |
| 2176 | + " LOAD_NAME 2 (b)\n", |
| 2177 | + " BINARY_OP 13 (+=)\n", |
| 2178 | + " SWAP 3\n", |
| 2179 | + " SWAP 2\n", |
| 2180 | + " STORE_SUBSCR\n", |
| 2181 | + " LOAD_CONST 0 (None)\n", |
| 2182 | + " RETURN_VALUE\n" |
2179 | 2183 | ] |
2180 | 2184 | } |
2181 | 2185 | ], |
|
2192 | 2196 | "## list.sort and the sorted Built-In Function" |
2193 | 2197 | ] |
2194 | 2198 | }, |
| 2199 | + { |
| 2200 | + "cell_type": "markdown", |
| 2201 | + "metadata": {}, |
| 2202 | + "source": [ |
| 2203 | + "> Fluent Interface \n", |
| 2204 | + "\n", |
| 2205 | + "代表你可以用「**鏈式方法呼叫**」,例如:\n", |
| 2206 | + "\n", |
| 2207 | + "```python\n", |
| 2208 | + "s = \" hello \"\n", |
| 2209 | + "result = s.strip().upper().replace(\"HELLO\", \"HI\")\n", |
| 2210 | + "print(result) # HI\n", |
| 2211 | + "```\n", |
| 2212 | + "每個方法都回傳一個新的字串(不是 `None`),讓你可以一直串下去使用,這也是 receiver 的一種連續應用。" |
| 2213 | + ] |
| 2214 | + }, |
| 2215 | + { |
| 2216 | + "cell_type": "markdown", |
| 2217 | + "metadata": {}, |
| 2218 | + "source": [ |
| 2219 | + "> Python 主排序演算法為 `Timsort`,屬於**穩定**演算法 \n", |
| 2220 | + "\n", |
| 2221 | + "代表排序時會**保留比較結果相同項目的相對順序** \n" |
| 2222 | + ] |
| 2223 | + }, |
2195 | 2224 | { |
2196 | 2225 | "cell_type": "code", |
2197 | | - "execution_count": 70, |
| 2226 | + "execution_count": 1, |
2198 | 2227 | "metadata": {}, |
2199 | 2228 | "outputs": [ |
2200 | 2229 | { |
|
2203 | 2232 | "['apple', 'banana', 'grape', 'raspberry']" |
2204 | 2233 | ] |
2205 | 2234 | }, |
2206 | | - "execution_count": 70, |
| 2235 | + "execution_count": 1, |
2207 | 2236 | "metadata": {}, |
2208 | 2237 | "output_type": "execute_result" |
2209 | 2238 | } |
|
2215 | 2244 | }, |
2216 | 2245 | { |
2217 | 2246 | "cell_type": "code", |
2218 | | - "execution_count": 71, |
| 2247 | + "execution_count": 2, |
2219 | 2248 | "metadata": {}, |
2220 | 2249 | "outputs": [ |
2221 | 2250 | { |
|
2224 | 2253 | "['grape', 'raspberry', 'apple', 'banana']" |
2225 | 2254 | ] |
2226 | 2255 | }, |
2227 | | - "execution_count": 71, |
| 2256 | + "execution_count": 2, |
2228 | 2257 | "metadata": {}, |
2229 | 2258 | "output_type": "execute_result" |
2230 | 2259 | } |
|
2235 | 2264 | }, |
2236 | 2265 | { |
2237 | 2266 | "cell_type": "code", |
2238 | | - "execution_count": 72, |
| 2267 | + "execution_count": 3, |
2239 | 2268 | "metadata": {}, |
2240 | 2269 | "outputs": [ |
2241 | 2270 | { |
|
2244 | 2273 | "['raspberry', 'grape', 'banana', 'apple']" |
2245 | 2274 | ] |
2246 | 2275 | }, |
2247 | | - "execution_count": 72, |
| 2276 | + "execution_count": 3, |
2248 | 2277 | "metadata": {}, |
2249 | 2278 | "output_type": "execute_result" |
2250 | 2279 | } |
|
2255 | 2284 | }, |
2256 | 2285 | { |
2257 | 2286 | "cell_type": "code", |
2258 | | - "execution_count": 73, |
| 2287 | + "execution_count": 4, |
2259 | 2288 | "metadata": {}, |
2260 | 2289 | "outputs": [ |
2261 | 2290 | { |
|
2264 | 2293 | "['grape', 'apple', 'banana', 'raspberry']" |
2265 | 2294 | ] |
2266 | 2295 | }, |
2267 | | - "execution_count": 73, |
| 2296 | + "execution_count": 4, |
2268 | 2297 | "metadata": {}, |
2269 | 2298 | "output_type": "execute_result" |
2270 | 2299 | } |
|
2275 | 2304 | }, |
2276 | 2305 | { |
2277 | 2306 | "cell_type": "code", |
2278 | | - "execution_count": 74, |
| 2307 | + "execution_count": 5, |
2279 | 2308 | "metadata": {}, |
2280 | 2309 | "outputs": [ |
2281 | 2310 | { |
|
2284 | 2313 | "['raspberry', 'banana', 'grape', 'apple']" |
2285 | 2314 | ] |
2286 | 2315 | }, |
2287 | | - "execution_count": 74, |
| 2316 | + "execution_count": 5, |
2288 | 2317 | "metadata": {}, |
2289 | 2318 | "output_type": "execute_result" |
2290 | 2319 | } |
|
2295 | 2324 | }, |
2296 | 2325 | { |
2297 | 2326 | "cell_type": "code", |
2298 | | - "execution_count": 75, |
| 2327 | + "execution_count": 6, |
2299 | 2328 | "metadata": {}, |
2300 | 2329 | "outputs": [ |
2301 | 2330 | { |
|
2304 | 2333 | "['grape', 'raspberry', 'apple', 'banana']" |
2305 | 2334 | ] |
2306 | 2335 | }, |
2307 | | - "execution_count": 75, |
| 2336 | + "execution_count": 6, |
2308 | 2337 | "metadata": {}, |
2309 | 2338 | "output_type": "execute_result" |
2310 | 2339 | } |
|
2315 | 2344 | }, |
2316 | 2345 | { |
2317 | 2346 | "cell_type": "code", |
2318 | | - "execution_count": 76, |
| 2347 | + "execution_count": 7, |
2319 | 2348 | "metadata": {}, |
2320 | 2349 | "outputs": [ |
2321 | 2350 | { |
|
2324 | 2353 | "['apple', 'banana', 'grape', 'raspberry']" |
2325 | 2354 | ] |
2326 | 2355 | }, |
2327 | | - "execution_count": 76, |
| 2356 | + "execution_count": 7, |
2328 | 2357 | "metadata": {}, |
2329 | 2358 | "output_type": "execute_result" |
2330 | 2359 | } |
|
2357 | 2386 | }, |
2358 | 2387 | { |
2359 | 2388 | "cell_type": "code", |
2360 | | - "execution_count": 77, |
| 2389 | + "execution_count": 8, |
2361 | 2390 | "metadata": {}, |
2362 | 2391 | "outputs": [ |
2363 | 2392 | { |
|
2366 | 2395 | "0.8190492979077034" |
2367 | 2396 | ] |
2368 | 2397 | }, |
2369 | | - "execution_count": 77, |
| 2398 | + "execution_count": 8, |
2370 | 2399 | "metadata": {}, |
2371 | 2400 | "output_type": "execute_result" |
2372 | 2401 | } |
|
2382 | 2411 | }, |
2383 | 2412 | { |
2384 | 2413 | "cell_type": "code", |
2385 | | - "execution_count": 78, |
| 2414 | + "execution_count": 9, |
2386 | 2415 | "metadata": {}, |
2387 | 2416 | "outputs": [], |
2388 | 2417 | "source": [ |
|
2392 | 2421 | }, |
2393 | 2422 | { |
2394 | 2423 | "cell_type": "code", |
2395 | | - "execution_count": 79, |
| 2424 | + "execution_count": 10, |
2396 | 2425 | "metadata": {}, |
2397 | 2426 | "outputs": [ |
2398 | 2427 | { |
|
2401 | 2430 | "0.8190492979077034" |
2402 | 2431 | ] |
2403 | 2432 | }, |
2404 | | - "execution_count": 79, |
| 2433 | + "execution_count": 10, |
2405 | 2434 | "metadata": {}, |
2406 | 2435 | "output_type": "execute_result" |
2407 | 2436 | } |
|
2417 | 2446 | }, |
2418 | 2447 | { |
2419 | 2448 | "cell_type": "code", |
2420 | | - "execution_count": 80, |
| 2449 | + "execution_count": 11, |
2421 | 2450 | "metadata": {}, |
2422 | 2451 | "outputs": [ |
2423 | 2452 | { |
|
2426 | 2455 | "True" |
2427 | 2456 | ] |
2428 | 2457 | }, |
2429 | | - "execution_count": 80, |
| 2458 | + "execution_count": 11, |
2430 | 2459 | "metadata": {}, |
2431 | 2460 | "output_type": "execute_result" |
2432 | 2461 | } |
|
2456 | 2485 | }, |
2457 | 2486 | { |
2458 | 2487 | "cell_type": "code", |
2459 | | - "execution_count": 81, |
| 2488 | + "execution_count": 12, |
2460 | 2489 | "metadata": { |
2461 | 2490 | "collapsed": false, |
2462 | 2491 | "pycharm": { |
|
2470 | 2499 | "[0, 1, 2, 3, 4, 5]" |
2471 | 2500 | ] |
2472 | 2501 | }, |
2473 | | - "execution_count": 81, |
| 2502 | + "execution_count": 12, |
2474 | 2503 | "metadata": {}, |
2475 | 2504 | "output_type": "execute_result" |
2476 | 2505 | } |
|
2483 | 2512 | }, |
2484 | 2513 | { |
2485 | 2514 | "cell_type": "code", |
2486 | | - "execution_count": 82, |
| 2515 | + "execution_count": 13, |
2487 | 2516 | "metadata": { |
2488 | 2517 | "collapsed": false, |
2489 | 2518 | "pycharm": { |
|
2497 | 2526 | "[[0, 1, 2], [3, 4, 5]]" |
2498 | 2527 | ] |
2499 | 2528 | }, |
2500 | | - "execution_count": 82, |
| 2529 | + "execution_count": 13, |
2501 | 2530 | "metadata": {}, |
2502 | 2531 | "output_type": "execute_result" |
2503 | 2532 | } |
|
2509 | 2538 | }, |
2510 | 2539 | { |
2511 | 2540 | "cell_type": "code", |
2512 | | - "execution_count": 83, |
| 2541 | + "execution_count": 14, |
2513 | 2542 | "metadata": { |
2514 | 2543 | "collapsed": false, |
2515 | 2544 | "pycharm": { |
|
2523 | 2552 | "[[0, 1], [2, 3], [4, 5]]" |
2524 | 2553 | ] |
2525 | 2554 | }, |
2526 | | - "execution_count": 83, |
| 2555 | + "execution_count": 14, |
2527 | 2556 | "metadata": {}, |
2528 | 2557 | "output_type": "execute_result" |
2529 | 2558 | } |
|
2535 | 2564 | }, |
2536 | 2565 | { |
2537 | 2566 | "cell_type": "code", |
2538 | | - "execution_count": 84, |
| 2567 | + "execution_count": 15, |
2539 | 2568 | "metadata": { |
2540 | 2569 | "collapsed": false, |
2541 | 2570 | "pycharm": { |
|
2549 | 2578 | "array('B', [0, 1, 2, 33, 22, 5])" |
2550 | 2579 | ] |
2551 | 2580 | }, |
2552 | | - "execution_count": 84, |
| 2581 | + "execution_count": 15, |
2553 | 2582 | "metadata": {}, |
2554 | 2583 | "output_type": "execute_result" |
2555 | 2584 | } |
|
2569 | 2598 | }, |
2570 | 2599 | { |
2571 | 2600 | "cell_type": "code", |
2572 | | - "execution_count": 85, |
| 2601 | + "execution_count": 16, |
2573 | 2602 | "metadata": {}, |
2574 | 2603 | "outputs": [ |
2575 | 2604 | { |
|
2578 | 2607 | "5" |
2579 | 2608 | ] |
2580 | 2609 | }, |
2581 | | - "execution_count": 85, |
| 2610 | + "execution_count": 16, |
2582 | 2611 | "metadata": {}, |
2583 | 2612 | "output_type": "execute_result" |
2584 | 2613 | } |
|
0 commit comments