勵志

勵志人生知識庫

lambda python用法

`lambda` 在Python中是一個關鍵字,用於創建匿名函式,即沒有名稱的函式。Lambda 函式的語法為 `lambda 參數列表: 表達式`,其中參數列表可以有多個參數,用逗號分隔;表達式是函式的主體,只能是一行代碼,其結果為函式的返回值。

Lambda 函式的套用場景主要包括:

作為參數傳遞給其他函式:例如,與 `map()`、`filter()`、`reduce()` 等內置函式一起使用,可以對序列中的每個元素套用Lambda函式,並返回結果序列。

```python

squared_lst = list(map(lambda x: x2, )) # 輸出

even_lst = list(filter(lambda x: x % 2 == 0, )) # 輸出

sum = reduce(lambda x, y: x + y, ) # 輸出 15

```

作為返回值返回給調用者:實現高階函式的功能,如柯里化函式。

```python

curry = lambda func, arg: lambda *args: func(arg, *args)

add_3 = curry(add_function, 3) # 創建一個新的函式,返回與10的和為7

```

在排序和篩選中使用:例如,使用Lambda函式作為 `sorted()` 的 `key` 參數進行自定義排序。

```python

sorted_words = sorted(words, key=lambda word: len(word)) # 按照單詞長度排序

```

雖然Lambda函式在編寫簡單的、一次性的函式時非常有用,但它們通常不適用於定義更複雜或需要多行代碼的函式。對於這類情況,建議使用 `def` 關鍵字來定義命名函式,以提高代碼的可讀性和維護性。