Hàm Lambda có thể có nhiều tham số nhưng chỉ có một biểu thức. Một biểu thức này được đánh giá và trả lại. Do đó, chúng ta có thể sử dụng các hàm Lambda như một đối tượng hàm. Trong bài viết này, chúng ta sẽ học cách sử dụng nếu, khác & Elif trong các chức năng Lambda. can have multiple parameters but have only one expression. This one expression is evaluated and returned. Thus, We can use lambda functions as a function object. In this article, we will learn how to use if, else & elif in Lambda Functions.
Sử dụng if-else trong hàm Lambda
Hàm Lambda sẽ trả về một giá trị cho mọi đầu vào được xác thực. Ở đây, nếu khối sẽ được trả về khi điều kiện là đúng và khối khác sẽ được trả lại khi điều kiện là sai. & NBSP;
Syntax:
Lambda: Nếu khác
Ở đây, hàm lambda sẽ trả về câu lệnh1 khi nếu điều kiện là đúng và câu lệnh trả về2 khi điều kiện là sai.
Example:
Ở đây, chúng tôi sẽ tìm thấy một số chẵn hay lẻ. Khi chúng tôi chuyển số 12 cho chức năng Lambda, nó sẽ thực thi Statement 1 và Statement2 cho 11. & nbsp;
Python3
result
=
____10
12 is greater than 11 12 is equal to 12 12 is smaller than 131
12 is greater than 11 12 is equal to 12 12 is smaller than 132
12 is greater than 11 12 is equal to 12 12 is smaller than 133
12 is greater than 11 12 is equal to 12 12 is smaller than 134
12 is greater than 11 12 is equal to 12 12 is smaller than 135__
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax3
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax4
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax5
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax6
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax3
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax4
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax9
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax6
Đầu ra
12 is even 11 is odd
Sử dụng nếu khác & Elif trong chức năng Lambda
Chúng ta cũng có thể sử dụng Nested nếu, nếu-else trong chức năng Lambda. Ở đây chúng tôi sẽ tạo chức năng Lambda để kiểm tra xem hai số có bằng hay lớn hơn hay không. Chúng tôi sẽ thực hiện điều này bằng cách sử dụng chức năng Lambda.
Syntax::
Lambda: Nếu [nếu khác]
Ở đây, statement1 sẽ được trả về khi điều kiện là đúng, statement2 sẽ được trả về khi Elif true và statement3 sẽ được trả về khi khác được thực thi. & Nbsp;
Example::
Ở đây, chúng tôi đã chuyển 2 số cho hàm Lambda. và kiểm tra mối quan hệ giữa chúng. Đó là nếu một số lớn hơn hoặc bằng hoặc nhỏ hơn một số khác
Python3
result
=
12 is greater than 11 12 is equal to 12 12 is smaller than 130
164
165
166
12 is greater than 11 12 is equal to 12 12 is smaller than 133
168
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax0
File "/home/20b09bdd29e24dfe24c185cd99dfcdfa.py", line 2 mod = lambda x : x if[x >= 0] ^ SyntaxError: invalid syntax0
File "/home/20b09bdd29e24dfe24c185cd99dfcdfa.py", line 2 mod = lambda x : x if[x >= 0] ^ SyntaxError: invalid syntax1
12 is greater than 11 12 is equal to 12 12 is smaller than 133
File "/home/20b09bdd29e24dfe24c185cd99dfcdfa.py", line 2 mod = lambda x : x if[x >= 0] ^ SyntaxError: invalid syntax3
File "/home/20b09bdd29e24dfe24c185cd99dfcdfa.py", line 2 mod = lambda x : x if[x >= 0] ^ SyntaxError: invalid syntax4
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax0
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax1
File "/home/20b09bdd29e24dfe24c185cd99dfcdfa.py", line 2 mod = lambda x : x if[x >= 0] ^ SyntaxError: invalid syntax7
File "/home/20b09bdd29e24dfe24c185cd99dfcdfa.py", line 2 mod = lambda x : x if[x >= 0] ^ SyntaxError: invalid syntax8
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax3
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax4
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax5
12
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax9
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax6
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax3
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax4
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax5
12
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax5
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax6
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax3
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax4
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax5
12
File "/home/8cf3856fc13d0ce75edfdd76793bdde4.py", line 2 max = lambda a, b : x if[a > b] ^ SyntaxError: invalid syntax5
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax6
Đầu ra
12 is greater than 11 12 is equal to 12 12 is smaller than 13
Trong Python, hàm Lambda là một hàm ẩn danh, có nghĩa là nó là một hàm không có tên. Nó có thể có bất kỳ số lượng đối số nhưng chỉ có một biểu thức, được đánh giá và trả lại. Nó phải có giá trị trả lại.Lambda function is an anonymous function, which means that it is a function without a name. It can have any number of arguments but only one expression, which is evaluated and returned. It must have a return value.
Vì hàm Lambda phải có giá trị trả về cho mọi đầu vào hợp lệ, chúng tôi không thể định nghĩa nó với nếu không có khác vì chúng tôi không chỉ định chúng tôi sẽ trả lại nếu điều kiện IF sẽ sai, tức là phần khác của nó.
Hãy để hiểu điều này với một ví dụ đơn giản về hàm Lambda để vuông một số chỉ khi nó lớn hơn 0 khi sử dụng nếu không có.
Ví dụ 1:
Python3
Is
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax3
2 108
2 109
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax6
Output:
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax
Mã trên khi thực thi hiển thị cú pháp, vì chúng ta biết rằng hàm lambda phải trả về giá trị và hàm này trả về x*x nếu x> 0 và nó không chỉ định những gì sẽ được trả về nếu giá trị của x nhỏ hơn hoặc bằng 0.
Để sửa nó, chúng ta cần chỉ định những gì sẽ được trả lại nếu điều kiện nếu sẽ là sai, tức là chúng ta phải chỉ định phần khác của nó.
Hãy cùng xem mã trên với phần khác của nó.
Code:
Python3
Is
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax3
2 108
=
5File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax6
Output:
16
Ví dụ #2: Mã đầu tiên là với IF, nhưng không có thứ khác thì thứ hai là với IF-Else.The first code is with if but without else then second is with if-else.
Python3
=
7=
____10
12 is greater than 11 12 is equal to 12 12 is smaller than 1300
12 is greater than 11 12 is equal to 12 12 is smaller than 133
12 is greater than 11 12 is equal to 12 12 is smaller than 13022
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax3
12 is greater than 11 12 is equal to 12 12 is smaller than 1307
12 is greater than 11 12 is equal to 12 12 is smaller than 1308
12 is greater than 11 12 is equal to 12 12 is smaller than 1309
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax6
Output:
File "/home/20b09bdd29e24dfe24c185cd99dfcdfa.py", line 2 mod = lambda x : x if[x >= 0] ^ SyntaxError: invalid syntax
Bây giờ, hãy để Lừa xem nó bằng IF-Else.
Python3
=
7=
____10
12 is greater than 11 12 is equal to 12 12 is smaller than 1300
12 is greater than 11 12 is equal to 12 12 is smaller than 133
12 is greater than 11 12 is equal to 12 12 is smaller than 13022
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax3
12 is greater than 11 12 is equal to 12 12 is smaller than 1307
12 is greater than 11 12 is equal to 12 12 is smaller than 1308
12 is greater than 11 12 is equal to 12 12 is smaller than 1309
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax6
Output:
1
Ví dụ #3: Mã đầu tiên là với IF, nhưng không có thứ khác thì thứ hai là với IF-Else.The first code is with if but without else then second is with if-else.
Python3
12 is greater than 11 12 is equal to 12 12 is smaller than 1328
=
12 is greater than 11 12 is equal to 12 12 is smaller than 130
12 is greater than 11 12 is equal to 12 12 is smaller than 1331
12 is greater than 11 12 is equal to 12 12 is smaller than 133
12 is greater than 11 12 is equal to 12 12 is smaller than 1333
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax3
12 is greater than 11 12 is equal to 12 12 is smaller than 1335
12 is greater than 11 12 is equal to 12 12 is smaller than 1328
12 is greater than 11 12 is equal to 12 12 is smaller than 1335
12 is greater than 11 12 is equal to 12 12 is smaller than 1309
12
12 is greater than 11 12 is equal to 12 12 is smaller than 136
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax6
Output:
File "/home/8cf3856fc13d0ce75edfdd76793bdde4.py", line 2 max = lambda a, b : x if[a > b] ^ SyntaxError: invalid syntax
Bây giờ, hãy để Lừa xem nó bằng IF-Else.
Python3
=
7=
____10
12 is greater than 11 12 is equal to 12 12 is smaller than 1300
12 is greater than 11 12 is equal to 12 12 is smaller than 133
12 is greater than 11 12 is equal to 12 12 is smaller than 13022
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax3
12 is greater than 11 12 is equal to 12 12 is smaller than 1335
12 is greater than 11 12 is equal to 12 12 is smaller than 1328
12 is greater than 11 12 is equal to 12 12 is smaller than 1335
12 is greater than 11 12 is equal to 12 12 is smaller than 1309
12
12 is greater than 11 12 is equal to 12 12 is smaller than 136
File "/home/2c8c59351e1635b6b026fb3c7fc17c8f.py", line 2 square = lambda x : x*x if[x > 0] ^ SyntaxError: invalid syntax6
Ví dụ #3: Mã đầu tiên là với IF, nhưng không có thứ khác thì thứ hai là với IF-Else.
Output:
2 10