timmy / 使用 functools 進行函式工具操作
0 likes
0 forks
3 files
Last active 9 months ago
functools 模組提供多種函式工具,如記憶化(lru_cache)、部分應用(partial)和函式包裝(wraps),適用於提升效能、簡化回呼函式與裝飾器開發。
| 1 | import functools |
| 2 | |
| 3 | @functools.lru_cache(maxsize=5) |
| 4 | def fibonacci(n): |
| 5 | """計算費氏數列(具備快取功能)""" |
| 6 | if n < 2: |
| 7 | return n |
| 8 | return fibonacci(n - 1) + fibonacci(n - 2) |
| 9 | |
| 10 | print(fibonacci(10)) # 快速計算 |
timmy / 使用 lambda 和 map() 進行列表轉換
0 likes
0 forks
1 files
Last active 10 months ago
這段 Python 程式碼使用 lambda 匿名函式 搭配 map() 函式,對 列表 numbers 中的每個數字進行倍數運算。lambda x: x * 2 定義了一個簡單的 匿名函式,然後透過 map(double, numbers) 讓列表中的每個數字都經過該函式處理,最終輸出 [2, 4, 6, 8, 10]。這種寫法適用於 資料轉換、函式式編程與簡化程式碼結構,提高可讀性與執行效率。
| 1 | numbers = [1, 2, 3, 4, 5] |
| 2 | |
| 3 | # 使用普通的函數定義 |
| 4 | def double(x): |
| 5 | return x * 2 |
| 6 | |
| 7 | # 使用 Lambda 表達式定義 |
| 8 | double = lambda x: x * 2 |
| 9 | |
| 10 | # 使用 map() 函數將 Lambda 表達式應用到列表中的每個元素 |
Newer
Older