Hướng dẫn is lambda faster than def python? - lambda có nhanh hơn def python không?

Không có sự khác biệt trong việc gọi một lambda so với một chức năng. Một lambda chỉ là một hàm được tạo với một biểu thức duy nhất và không có tên.

Giả sử chúng ta có hai chức năng giống hệt

def a():
    return 222*333

b = lambda: 222*333

Chúng tôi thấy rằng cả hai đều là cùng một loại đối tượng hàm và cả hai đều chia sẻ mã byte tương đương:

>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE

Làm thế nào bạn có thể tăng tốc độ? Bạn không. Đó là Python. Nó được tối ưu hóa trước cho bạn. Không có gì để bạn làm với mã này.pre-optimized for you. There's nothing more for you to do with this code.

Có lẽ bạn có thể đưa nó cho một thông dịch viên khác, hoặc viết lại nó bằng một ngôn ngữ khác, nhưng nếu bạn đang gắn bó với Python, thì không có gì để làm bây giờ.

Thời gian nó

Đây là cách tôi sẽ kiểm tra thời gian.

Thời gian của

import timeit
3 và
import timeit
4 đều có thể gọi được:

import timeit

Lưu ý rằng

import timeit
5 cũng có đối số
import timeit
4:

>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315

Những khác biệt này là quá nhỏ để có ý nghĩa.

Biểu thức lambda là gì? & Nbsp; biểu thức Lambda là một cú pháp đặc biệt để tạo các hàm mà không có tên. Các chức năng này được gọi là chức năng Lambda. Các hàm Lambda này có thể có bất kỳ số lượng đối số nào nhưng chỉ có một biểu thức cùng với câu lệnh trả về ngầm. Biểu thức lambda trả về các đối tượng chức năng. Ví dụ: hãy xem xét biểu thức Lambda: & nbsp; & nbsp; 
A lambda expression is a special syntax to create functions without names. These functions are called lambda functions. These lambda functions can have any number of arguments but only one expression along with an implicit return statement. Lambda expressions return function objects. For Example consider the lambda expression:  

lambda (arguments) : (expression)

Biểu thức Lambda này xác định một hàm không tên, chấp nhận hai đối số và trả về tổng của hai đối số. Nhưng làm thế nào để chúng ta gọi một chức năng không tên? Hàm Lambda không tên được xác định ở trên có thể được gọi là: & nbsp; & nbsp;unnamed function, which accepts two arguments and returns the sum of the two arguments. But how do we call an unnamed function? The above defined unnamed lambda function can be called as:  

(lambda x, y: x + y)(1, 2)

Mã 1: & NBSP; 

Python3

import timeit
7
import timeit
8
import timeit
9
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
0
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
1
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
2
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
3__

lambda (arguments) : (expression)
2
lambda (arguments) : (expression)
3

lambda (arguments) : (expression)
4
import timeit
8
import timeit
9
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
0
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
1
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
2

lambda (arguments) : (expression)
2
9
2
8

Output:  

9
2

Mặc dù nó không được khuyến khích, đối tượng hàm được trả về bởi biểu thức lambda có thể được gán cho một biến. Xem ví dụ dưới đây trong đó một tổng biến được gán một đối tượng hàm được trả về bởi biểu thức lambda. & Nbsp; & nbsp;
 

Python3

9
2
9
import timeit
8
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
0
11
2
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
2
11
4

lambda (arguments) : (expression)
2
import timeit
9
11
7
import timeit
9
9
2
9
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
0

import timeit
7
import timeit
8
9
2
9
import timeit
9
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
5
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
7
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
7
lambda (arguments) : (expression)
1

lambda (arguments) : (expression)
2
lambda (arguments) : (expression)
3

Output:    

11

Công dụng phổ biến của biểu thức lambda: & nbsp; 

  • Vì các hàm Lambda là ẩn danh và không yêu cầu được gán tên, nên chúng thường được sử dụng để gọi các hàm (hoặc lớp) yêu cầu một đối tượng chức năng làm đối số. Xác định các chức năng riêng cho các đối số chức năng đó không được sử dụng bởi vì, định nghĩa hàm thường ngắn và chúng chỉ được yêu cầu một hoặc hai lần trong mã. Ví dụ: đối số chính của hàm sẵn có, Sắp xếp (). & Nbsp; & nbsp;used to call functions(or classes) which require a function object as an argument. Defining separate functions for such function arguments is of no use because, the function definition is usually short and they are required only once or twice in the code. For example, the key argument of the inbuilt function, sorted(). 
     

Python3

[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
1
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
2

[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
3
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
4
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
5
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
6
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
8

Các

>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
21
import timeit
8
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
23
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
24
import timeit
8
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
26

lambda (arguments) : (expression)
2
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
28

  • Output:
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]

Python3

Các

>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
21
import timeit
8
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
23
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
24
import timeit
8
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
26

lambda (arguments) : (expression)
2
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
63

  • Output:
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
  • >>> type(a)
    
    >>> type(b)
    
    
    >>> import dis
    >>> dis.dis(a)
      2           0 LOAD_CONST               3 (73926)
                  2 RETURN_VALUE
    >>> dis.dis(b)
      1           0 LOAD_CONST               3 (73926)
                  2 RETURN_VALUE
    
    52
    import timeit
    
    8
    >>> type(a)
    
    >>> type(b)
    
    
    >>> import dis
    >>> dis.dis(a)
      2           0 LOAD_CONST               3 (73926)
                  2 RETURN_VALUE
    >>> dis.dis(b)
      1           0 LOAD_CONST               3 (73926)
                  2 RETURN_VALUE
    
    23
    >>> type(a)
    
    >>> type(b)
    
    
    >>> import dis
    >>> dis.dis(a)
      2           0 LOAD_CONST               3 (73926)
                  2 RETURN_VALUE
    >>> dis.dis(b)
      1           0 LOAD_CONST               3 (73926)
                  2 RETURN_VALUE
    
    24
    import timeit
    
    8
    >>> min(timeit.repeat(a, repeat=100))
    0.06456905393861234
    >>> min(timeit.repeat(b, repeat=100))
    0.06374448095448315
    
    0
    >>> type(a)
    
    >>> type(b)
    
    
    >>> import dis
    >>> dis.dis(a)
      2           0 LOAD_CONST               3 (73926)
                  2 RETURN_VALUE
    >>> dis.dis(b)
      1           0 LOAD_CONST               3 (73926)
                  2 RETURN_VALUE
    
    58__used whenever there is a need of repetitive function calls to reduce execution time. Some of the examples of such scenarios are the functions: map(), filter() and sorted(). For example, 
     

Python3

Các hàm Lambda là các hàm nội tuyến và do đó chúng được sử dụng bất cứ khi nào cần các cuộc gọi chức năng lặp đi lặp lại để giảm thời gian thực hiện. Một số ví dụ về các kịch bản như vậy là các hàm: map (), filter () và sort (). Ví dụ: & nbsp; & nbsp;

Các

>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
87
import timeit
8
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
89
import timeit
9
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
0
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
92___

lambda (arguments) : (expression)
2
import timeit
9
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
97
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
98

>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
99
import timeit
8
import timeit
01
import timeit
9
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
0
import timeit
04
import timeit
05
(lambda x, y: x + y)(1, 2)
1
(lambda x, y: x + y)(1, 2)
8
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
6
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
8

lambda (arguments) : (expression)
2
import timeit
9
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
97
import timeit
21

& nbsp; & nbsp; ưu và nhược điểm của các hàm Lambda: & nbsp; Ưu điểm của các hàm Lambda: & nbsp; & nbsp;
Pros and Cons of lambda functions : 
Pros of lambda functions: 
 

  • Là ẩn danh, các hàm Lambda có thể dễ dàng được truyền mà không được gán cho một biến.
  • Các hàm Lambda là các hàm nội tuyến và do đó thực hiện tương đối nhanh hơn.
  • Nhiều lần chức năng Lambda làm cho mã dễ đọc hơn nhiều bằng cách tránh các bước nhảy logic gây ra bởi các cuộc gọi chức năng. Ví dụ: đọc các khối sau của mã. & Nbsp; & nbsp;
     

Python3

[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
1
import timeit
23

[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
3
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
4
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
5
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
4
11
4
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
2
import timeit
30

import timeit
31
import timeit
8
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
6

import timeit
34
import timeit
8
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
8

import timeit
37
import timeit
8
lambda (arguments) : (expression)
0

import timeit
40
import timeit
8
import timeit
42

lambda (arguments) : (expression)
2
import timeit
44

  • Output:
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
0

Python3

import timeit
40
import timeit
8
import timeit
9
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
0
import timeit
49
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
4______

lambda (arguments) : (expression)
2
import timeit
61

  • Output:
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
0

Nhược điểm trên các hàm Lambda: & NBSP; 

  • Các hàm Lambda có thể chỉ có một biểu thức.
  • Các chức năng Lambda không thể có một tài liệu.
  • Nhiều lần chức năng Lambda làm cho mã khó đọc. Ví dụ: xem các khối mã được đưa ra dưới đây. & Nbsp; & nbsp;
     

Python3

[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
1
import timeit
63

[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
3
(lambda x, y: x + y)(1, 2)
1
import timeit
66
import timeit
8
import timeit
8
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
6
import timeit
70

import timeit
71
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
4
import timeit
73

[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
3
(lambda x, y: x + y)(1, 2)
7
(lambda x, y: x + y)(1, 2)
1
import timeit
66
import timeit
8
import timeit
8
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
8
import timeit
70

import timeit
71
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
4
import timeit
84

[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
3
(lambda x, y: x + y)(1, 2)
7
(lambda x, y: x + y)(1, 2)
1
import timeit
66
import timeit
8
import timeit
8
lambda (arguments) : (expression)
0
import timeit
70

import timeit
71
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
4
import timeit
95

[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
3
(lambda x, y: x + y)(1, 2)
7
import timeit
70

import timeit
71
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
4
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
01

>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
02
import timeit
8
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
04
lambda (arguments) : (expression)
0
lambda (arguments) : (expression)
1

lambda (arguments) : (expression)
2
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
08

  • Output:
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
2

Python3

Is

>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
28
(lambda x, y: x + y)(1, 2)
7
import timeit
9
import timeit
95
(lambda x, y: x + y)(1, 2)
1
import timeit
66__

lambda (arguments) : (expression)
2
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
08

  • Output:
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
2

& nbsp; & nbsp; lạm dụng các biểu thức lambda: & nbsp;
Misuse of Lambda expressions : 

  • Việc gán các biểu thức Lambda: Hướng dẫn theo phong cách Python chính thức PEP8, không khuyến khích việc gán các biểu thức Lambda như trong ví dụ dưới đây. The official python style guide PEP8, strongly discourages the assignment of lambda expressions as shown in the example below.
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
4
  • Thay vào đó, nên viết một chức năng một lớp lót như,
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
5
  • Mặc dù phương pháp thứ hai khuyến khích thực tế là các hàm Lambda là ẩn danh, nhưng nó cũng hữu ích cho các dấu vết trong quá trình gỡ lỗi. Chạy mã bên dưới để xem làm thế nào def làm cho Tracebacks hữu ích nhiều. & Nbsp; & nbsp;def makes tracebacks much useful. 
     

Python3

>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
44
import timeit
8
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
0
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
47
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
4
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
49
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
2
import timeit
30

lambda (arguments) : (expression)
2
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
53

[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
1
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
55
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
4
import timeit
66
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
4
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
49
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
2
import timeit
30

lambda (arguments) : (expression)
2
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
53

  • Kết thúc các biểu thức Lambda xung quanh các hàm: Nhiều lần, các biểu thức Lambda không cần thiết xung quanh các chức năng như hình dưới đây. Many times, lambda expressions are needlessly wrapped around functions as shown below.
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
6
  • Mặc dù cú pháp trên là hoàn toàn chính xác, các lập trình viên phải hiểu rằng tất cả các chức năng trong Python có thể được truyền dưới dạng các đối tượng chức năng. Do đó, cùng một mã có thể (và nên) được viết là,
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
7
  • Vượt qua các chức năng không cần thiết: Nhiều lần, các lập trình viên vượt qua các chức năng chỉ thực hiện một thao tác duy nhất. Xem mã sau. Many times, programmers pass functions which perform only a single operation. See the following code.
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
8
  • Hàm Lambda được truyền ở trên chỉ thực hiện một thao tác duy nhất, thêm hai đối số. Kết quả tương tự có thể thu được bằng cách sử dụng tổng chức năng tích hợp, như được hiển thị bên dưới. & Nbsp; & nbsp;sum, as shown below. 
     
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
9
  • Các lập trình viên nên tránh sử dụng các biểu thức lambda cho các hoạt động chung, bởi vì rất có thể có chức năng tích hợp cung cấp kết quả tương tự.

& nbsp; & nbsp; lạm dụng các biểu thức lambda: & nbsp;
Overuse of lambda expressions : 

  • Sử dụng Lambda cho các chức năng không tầm thường: Đôi khi, các chức năng đơn giản có thể không tầm thường. Xem mã bên dưới.Sometimes, simple functions can be non-trivial. See the code below.

Python3

>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
64___

>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
83
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
84
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
67
import timeit
70
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
87
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
7
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
71
import timeit
70
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
91
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
7
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
75
import timeit
70
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
6
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
7
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
79
import timeit
70
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
11
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
82

>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
83
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
84
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
67
import timeit
70
lambda (arguments) : (expression)
05
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
7
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
71
import timeit
70
lambda (arguments) : (expression)
09
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
7
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
75
import timeit
70
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
11
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
7
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
79
import timeit
70
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
8
lambda (arguments) : (expression)
18

lambda (arguments) : (expression)
19
import timeit
8
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
23
lambda (arguments) : (expression)
22

lambda (arguments) : (expression)
23
lambda (arguments) : (expression)
24
import timeit
8
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
0
lambda (arguments) : (expression)
27____367__

lambda (arguments) : (expression)
38
lambda (arguments) : (expression)
34
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
75
lambda (arguments) : (expression)
41
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
4
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
4
lambda (arguments) : (expression)
44
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
75
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
20
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
4
lambda (arguments) : (expression)
34
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
79
lambda (arguments) : (expression)
50

lambda (arguments) : (expression)
2
lambda (arguments) : (expression)
52

  • Output:

[{'n': 2, 'r': 0,01, 't': 4, 'p': 100}, {'n': 5, 'r': 0,05, 't': 2, 'p': 120}, {'n': 1, 'r': 0,04, 't': 5, 'p': 150}] & nbsp; & nbsp;
 

  • Ở đây, chúng tôi đang sắp xếp các từ điển trên cơ sở lợi ích hỗn hợp. Bây giờ, xem mã được viết dưới đây, sử dụng def.def.

Python3

>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
64___

>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
83
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
84___

>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
83
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
84
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
67
import timeit
70
lambda (arguments) : (expression)
05
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
7
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
71
import timeit
70
lambda (arguments) : (expression)
09
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
7
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
75
import timeit
70
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
11
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
7
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
79
import timeit
70
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
8
lambda (arguments) : (expression)
18

[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
1
(lambda x, y: x + y)(1, 2)
09

E

lambda (arguments) : (expression)
19
import timeit
8
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
23
(lambda x, y: x + y)(1, 2)
38
import timeit
8
(lambda x, y: x + y)(1, 2)
40

lambda (arguments) : (expression)
2
lambda (arguments) : (expression)
52

  • Output:

[{'n': 2, 'r': 0,01, 't': 4, 'p': 100}, {'n': 5, 'r': 0,05, 't': 2, 'p': 120}, {'n': 1, 'r': 0,04, 't': 5, 'p': 150}] & nbsp; & nbsp;
 

  • Mặc dù cả hai mã đều làm điều tương tự, bản thứ hai sử dụng DEF dễ đọc hơn nhiều. Biểu thức được viết ở đây dưới Lambda có thể đơn giản, nhưng nó có ý nghĩa (công thức cho lợi ích hỗn hợp). Do đó, biểu thức là không tầm thường và xứng đáng với một cái tên. Sử dụng các biểu thức lambda cho các hàm không tầm thường làm giảm khả năng đọc của mã.def is much more readable. The expression written here under the lambda might be simple, but it has a meaning(formula for compound interest). Hence, the expression is non-trivial and deserves a name. Using lambda expressions for non-trivial functions reduces the readability of the code.
  • Sử dụng lambdas khi nhiều dòng sẽ giúp: nếu sử dụng hàm nhiều dòng làm cho mã dễ đọc hơn, sử dụng các biểu thức Lambda để giảm một số dòng mã không đáng giá. Ví dụ: xem mã bên dưới.If using a multiple line function makes the code more readable, using lambda expressions to reduce some lines of code is not worth it. For example, see the code below.

People = [('Sam', 'M', 18), ('Susan', 'F', 22), ('Joy', 'M', 21), ('Lucy', 'F', 12) ] & nbsp; sort_people = sort (con người, key = lambda x: x [1]) & nbsp; & nbsp;
sorted_people = sorted(people, key=lambda x: x[1]) 
 

  • Cũng xem mã sau sử dụng def.def.
import timeit
0
  • Xem cách giải nén Tuple trong khối thứ hai của mã làm cho nó dễ đọc và hợp lý hơn nhiều. Khả năng đọc của mã nên ưu tiên tối đa của một lập trình viên, làm việc trong môi trường hợp tác.
  • Sử dụng các biểu thức Lambda cho bản đồ và bộ lọc: LambDas được sử dụng rất phổ biến với MAP () và Filter () như được hiển thị. Lambdas are very commonly used with map() and filter() as shown.

Python3

[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
8
import timeit
8
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
00
(lambda x, y: x + y)(1, 2)
55
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
7
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
6
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
7
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
8
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
7__

(lambda x, y: x + y)(1, 2)
58
import timeit
8
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
89
import timeit
9
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
0
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
92___

(lambda x, y: x + y)(1, 2)
66
import timeit
8
import timeit
01
import timeit
9
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
0
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
92

lambda (arguments) : (expression)
2
import timeit
9
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
97
(lambda x, y: x + y)(1, 2)
78

lambda (arguments) : (expression)
2
import timeit
9
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
97
(lambda x, y: x + y)(1, 2)
82

  • Sau đây là một khối mã khác sử dụng các biểu thức máy phát để đạt được kết quả tương tự.

Python3

[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
8
import timeit
8
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
00
(lambda x, y: x + y)(1, 2)
55
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
7
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
6
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
7
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
8
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
7__

(lambda x, y: x + y)(1, 2)
58
import timeit
8
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
89
import timeit
9
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
0
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
92___

(lambda x, y: x + y)(1, 2)
66
import timeit
8
import timeit
01
import timeit
9
>>> min(timeit.repeat(a, repeat=100))
0.06456905393861234
>>> min(timeit.repeat(b, repeat=100))
0.06374448095448315
0
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
92

lambda (arguments) : (expression)
2
import timeit
9
>>> type(a)

>>> type(b)


>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
>>> dis.dis(b)
  1           0 LOAD_CONST               3 (73926)
              2 RETURN_VALUE
97
(lambda x, y: x + y)(1, 2)
78

Sau đây là một khối mã khác sử dụng các biểu thức máy phát để đạt được kết quả tương tự.

  • (lambda x, y: x + y)(1, 2)
    58
    import timeit
    
    8
    (lambda x, y: x + y)(1, 2)
    8__
     
  • Is The functions which accept other function objects as arguments are called higher order functions (i.e. map() and filter()), which are common in functional programming. As stated above, lambda expressions are commonly used as the function arguments of higher order functions. Compare the two code blocks shown below. 
    Using high order function reduce()
import timeit
1
  • lambda (arguments) : (expression)
    2
    import timeit
    
    9
    >>> type(a)
    
    >>> type(b)
    
    
    >>> import dis
    >>> dis.dis(a)
      2           0 LOAD_CONST               3 (73926)
                  2 RETURN_VALUE
    >>> dis.dis(b)
      1           0 LOAD_CONST               3 (73926)
                  2 RETURN_VALUE
    
    97
    (lambda x, y: x + y)(1, 2)
    82
import timeit
2
  • Không giống như Map () và Filter (), các biểu thức tạo là các tính năng mục đích chung của ngôn ngữ Python. Do đó, máy phát điện tăng cường khả năng đọc của mã. Trong khi, map () và filter () yêu cầu kiến ​​thức trước về các chức năng này. & Nbsp;

Cái nào nhanh hơn def hay lambda?

Tạo một chức năng với Lambda nhanh hơn một chút so với việc tạo nó với Def.Sự khác biệt là do def tạo một mục nhập tên trong bảng địa phương.Hàm kết quả có cùng tốc độ thực thi.lambda is slightly faster than creating it with def . The difference is due to def creating a name entry in the locals table. The resulting function has the same execution speed.

Python Lambda có chậm hơn không?

Các hàm Lambda là các hàm nội tuyến và do đó thực hiện tương đối nhanh hơn.execute comparatively faster.

Chức năng Lambda có nhanh hơn so với vòng lặp không?

Câu trả lơi con phụ thuộc vao nhiêu thư.Tôi đã thấy các trường hợp sử dụng Lambda chậm hơn và nó nhanh hơn.it depends. I have seen cases where using a lambda was slower and where it was faster.

Có phải áp dụng Lambda nhanh hơn so với Loop Python không?

Phương thức Ứng dụng () - nhanh hơn 811 lần chúng ta có thể sử dụng áp dụng với hàm Lambda.Tất cả chúng ta phải làm điều đó để chỉ định trục.Trong trường hợp này, chúng tôi phải sử dụng Axis = 1 vì chúng tôi muốn thực hiện hoạt động khôn ngoan về cột: Mã này thậm chí còn nhanh hơn các phương thức trước đó và mất 27 mili giây để hoàn thành.811 times faster We can use apply with a Lambda function. All we have to do it to specify the axis. In this case we have to use axis=1 because we want to perform a column-wise operation: This code is even faster than the previous methods and took 27 milliseconds to be finished.