Python 2 có hỗ trợ hiểu danh sách không?

Việc hiểu danh sách Python bao gồm các dấu ngoặc chứa biểu thức, được thực thi cho từng phần tử cùng với vòng lặp for để lặp qua từng phần tử trong danh sách Python.  

Khả năng hiểu danh sách của Python cung cấp cú pháp ngắn hơn nhiều để tạo danh sách mới dựa trên các giá trị của danh sách hiện có

Ưu điểm của việc hiểu danh sách

  • Tiết kiệm thời gian và không gian hiệu quả hơn so với vòng lặp
  • Yêu cầu ít dòng mã hơn
  • Chuyển đổi câu lệnh lặp thành công thức

Cú pháp của Danh sách hiểu

danh sách mới = [ biểu thức (phần tử) cho phần tử trong danh sách cũ nếu điều kiện ]

Ví dụ về hiểu danh sách trong Python

ví dụ 1. Lặp lại với khả năng hiểu Danh sách

Python3




[0, 2, 4, 6, 8, 10]
8

[0, 2, 4, 6, 8, 10]
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
1
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
3
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
5
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
6
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7_______2_______8
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
0
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
1

 

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
2

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
[0, 2, 4, 6, 8, 10]
9
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
6

đầu ra

[1, 2, 3]

ví dụ 2. Danh sách chẵn sử dụng khả năng hiểu danh sách

Python3




['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
7
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
1
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
5
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
6
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
1
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
8
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
3_______36_______4

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
6

đầu ra

[0, 2, 4, 6, 8, 10]

ví dụ 3. Ma trận sử dụng hiểu Danh sách

Python3




Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
1
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
3
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
0
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
8
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
1
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
0
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
8

[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
6

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3____45_______8

đầu ra

[[0, 1, 2], [0, 1, 2], [0, 1, 2]]

Danh sách hiểu so với vòng lặp

Có nhiều cách khác nhau để lặp qua một danh sách. Tuy nhiên, cách phổ biến nhất là sử dụng vòng lặp for. Chúng ta hãy xem ví dụ dưới đây

Python3




[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
9

[0, 2, 4, 6, 8, 10]
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
[10, 20, 30, 40, 50]
2

 

[10, 20, 30, 40, 50]
3

[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
3_______2_______4
[10, 20, 30, 40, 50]
7
[10, 20, 30, 40, 50]
8

[10, 20, 30, 40, 50]
9
[0, 2, 4, 6, 8, 10]
9
[10, 20, 30, 40, 50]
1

 

[10, 20, 30, 40, 50]
2

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
[0, 2, 4, 6, 8, 10]
9
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
6

đầu ra

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']

Trên đây là cách triển khai cách tiếp cận truyền thống để lặp qua danh sách, chuỗi, bộ dữ liệu, v.v. Bây giờ việc hiểu danh sách thực hiện nhiệm vụ tương tự và cũng làm cho chương trình đơn giản hơn.  

Khả năng hiểu danh sách chuyển cách tiếp cận lặp truyền thống bằng cách sử dụng vòng lặp for thành một công thức đơn giản, do đó làm cho chúng dễ sử dụng. Dưới đây là cách tiếp cận để lặp qua một danh sách, chuỗi, tuple, v.v. sử dụng hiểu danh sách

Python3




[0, 2, 4, 6, 8, 10]
8

[0, 2, 4, 6, 8, 10]
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
1
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
3
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
[10, 20, 30, 40, 50]
7
Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
4

 

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
2

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
[0, 2, 4, 6, 8, 10]
9
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
6

đầu ra

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']

Phân tích thời gian trong việc hiểu danh sách và vòng lặp

Việc hiểu danh sách hiệu quả hơn cả về mặt tính toán cũng như về không gian mã hóa và thời gian so với vòng lặp for. Thông thường, chúng được viết trong một dòng mã. Chương trình dưới đây mô tả sự khác biệt giữa vòng lặp for và khả năng hiểu danh sách dựa trên hiệu suất

Python3




[0, 2, 4, 6, 8, 10]
11

[0, 2, 4, 6, 8, 10]
12
[0, 2, 4, 6, 8, 10]
13

 

 

[0, 2, 4, 6, 8, 10]
14

[0, 2, 4, 6, 8, 10]
15
[0, 2, 4, 6, 8, 10]
16

[10, 20, 30, 40, 50]
9
[0, 2, 4, 6, 8, 10]
18_______2_______0
[10, 20, 30, 40, 50]
2

[10, 20, 30, 40, 50]
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
1
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
[0, 2, 4, 6, 8, 10]
26

[0, 2, 4, 6, 8, 10]
27_______0_______28
[0, 2, 4, 6, 8, 10]
29
[0, 2, 4, 6, 8, 10]
29
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
8
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
6

[10, 20, 30, 40, 50]
9
[0, 2, 4, 6, 8, 10]
34
[0, 2, 4, 6, 8, 10]
18

 

 

[0, 2, 4, 6, 8, 10]
36

[0, 2, 4, 6, 8, 10]
15
[0, 2, 4, 6, 8, 10]
38

[10, 20, 30, 40, 50]
9
[0, 2, 4, 6, 8, 10]
34
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
9
[0, 2, 4, 6, 8, 10]
29
[0, 2, 4, 6, 8, 10]
29
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
8
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
1
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
[0, 2, 4, 6, 8, 10]
49

 

 

[0, 2, 4, 6, 8, 10]
50

 

[0, 2, 4, 6, 8, 10]
51

[0, 2, 4, 6, 8, 10]
52
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
[0, 2, 4, 6, 8, 10]
54

[0, 2, 4, 6, 8, 10]
55
[0, 2, 4, 6, 8, 10]
56
[0, 2, 4, 6, 8, 10]
29
[0, 2, 4, 6, 8, 10]
29
[0, 2, 4, 6, 8, 10]
59
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
6

[0, 2, 4, 6, 8, 10]
61____2_______0
[0, 2, 4, 6, 8, 10]
54

 

[0, 2, 4, 6, 8, 10]
64

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
[0, 2, 4, 6, 8, 10]
67
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
[0, 2, 4, 6, 8, 10]
69
[0, 2, 4, 6, 8, 10]
70
[0, 2, 4, 6, 8, 10]
71
[0, 2, 4, 6, 8, 10]
72
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
8
[0, 2, 4, 6, 8, 10]
74

 

[0, 2, 4, 6, 8, 10]
75

[0, 2, 4, 6, 8, 10]
52
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
[0, 2, 4, 6, 8, 10]
54

[0, 2, 4, 6, 8, 10]
79
[0, 2, 4, 6, 8, 10]
56
[0, 2, 4, 6, 8, 10]
29
[0, 2, 4, 6, 8, 10]
29
[0, 2, 4, 6, 8, 10]
59
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
6

[0, 2, 4, 6, 8, 10]
61____2_______0
[0, 2, 4, 6, 8, 10]
54

 

[0, 2, 4, 6, 8, 10]
64

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
[0, 2, 4, 6, 8, 10]
91
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
[0, 2, 4, 6, 8, 10]
69
[0, 2, 4, 6, 8, 10]
70
[0, 2, 4, 6, 8, 10]
71
[0, 2, 4, 6, 8, 10]
72
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
8
[0, 2, 4, 6, 8, 10]
74

đầu ra

Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47

Từ chương trình trên, chúng ta có thể thấy việc hiểu danh sách khá nhanh hơn so với vòng lặp for

Hiểu danh sách lồng nhau

Việc hiểu danh sách lồng nhau không là gì ngoài việc hiểu danh sách trong một cách hiểu danh sách khác, khá giống với các vòng lặp lồng nhau. Dưới đây là chương trình thực hiện vòng lặp lồng nhau

Python3




Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
[10, 20, 30, 40, 50]
2

 

[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
1
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
0_______2_______08

 

[10, 20, 30, 40, 50]
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
10

[10, 20, 30, 40, 50]
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
12

 

[10, 20, 30, 40, 50]
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
3_______2_______4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
19
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
08

[0, 2, 4, 6, 8, 10]
27_______2_______22

 

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3____45_______8

đầu ra

[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]

Giờ đây, bằng cách sử dụng tính năng hiểu danh sách lồng nhau, cùng một đầu ra có thể được tạo ra với ít dòng mã hơn

Python3




[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
25

Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
1_______2_______2
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
3
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
19
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
8
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
1
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
0
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
8

 

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3____45_______8

Đầu ra

[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]

Danh sách hiểu và Lambda

Biểu thức Lambda không là gì ngoài các biểu diễn tốc ký của các hàm Python. Sử dụng khả năng hiểu danh sách với lambda tạo ra sự kết hợp hiệu quả. Chúng ta hãy xem các ví dụ dưới đây

Python3




[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
45

[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
46_______2_______0
[10, 20, 30, 40, 50]
2

 

[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
1_______2_______4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
6
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
[0, 2, 4, 6, 8, 10]
59
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
08

[10, 20, 30, 40, 50]
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
59
[0, 2, 4, 6, 8, 10]
29
[0, 2, 4, 6, 8, 10]
56
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
6

 

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3_______2_______64

Đầu ra

[10, 20, 30, 40, 50]

Ở đây, chúng tôi đã sử dụng vòng lặp for để in bảng 10

Python3




[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
46_______2_______0
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
9
[0, 2, 4, 6, 8, 10]
29_______0_______56
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
1
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
6
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
[0, 2, 4, 6, 8, 10]
59
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
8

 

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3_______2_______64

đầu ra

[10, 20, 30, 40, 50]

Bây giờ ở đây, chúng tôi chỉ sử dụng cách hiểu danh sách để hiển thị bảng 10

Python3




[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
45

[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
46_______2_______0
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
86
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
88
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
89
[0, 2, 4, 6, 8, 10]
29
[0, 2, 4, 6, 8, 10]
56
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
92
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
1
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4_______2_______6_______2_______7_______0____1_______590

 

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3_______2_______64

đầu ra

[10, 20, 30, 40, 50]

Cuối cùng, chúng tôi sử dụng lambda + hiểu danh sách để hiển thị bảng 10. Sự kết hợp này rất hữu ích để có được các giải pháp hiệu quả với ít dòng mã hơn cho các vấn đề phức tạp

Điều kiện trong danh sách hiểu

Chúng ta cũng có thể thêm các câu điều kiện để hiểu danh sách. Chúng ta có thể tạo một danh sách bằng cách sử dụng phạm vi (), toán tử, v.v. và cal cũng áp dụng một số điều kiện cho danh sách bằng câu lệnh if

Những điểm chính

  • Hiểu danh sách là một phương tiện hiệu quả để mô tả và xây dựng danh sách dựa trên danh sách hiện tại
  • Nói chung, việc hiểu danh sách nhẹ hơn và đơn giản hơn so với các vòng lặp và chức năng hình thành danh sách tiêu chuẩn
  • Chúng ta không nên viết mã dài để hiểu danh sách nhằm đảm bảo mã thân thiện với người dùng
  • Mọi cách hiểu về danh sách có thể được viết lại trong vòng lặp for, nhưng trong ngữ cảnh diễn giải danh sách, mọi vòng lặp for không thể được viết lại

Dưới đây là một số ví dụ mô tả việc sử dụng khả năng hiểu danh sách thay vì cách tiếp cận truyền thống để lặp qua các lần lặp

ví dụ 1. Hiểu danh sách Python bằng cách sử dụng If-else

Python3




['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
04
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
5
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
07
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
1
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
8
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
3

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
15_______12_______16
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
17
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
1
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
23
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
8

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
26

đầu ra

[0, 2, 4, 6, 8, 10]
1

ví dụ 2. IF lồng nhau với khả năng hiểu danh sách

Python3




['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
04
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
29_______2_______2
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
31
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
35
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
6

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
15_______12_______7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
31
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
19
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
31
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
9
[0, 2, 4, 6, 8, 10]
56
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
3
Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
4

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
26

đầu ra

[0, 2, 4, 6, 8, 10]
2

ví dụ 3. Hiển thị ô vuông các số từ 1 đến 10

Python3




['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
55

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
56
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
58
[0, 2, 4, 6, 8, 10]
29
[0, 2, 4, 6, 8, 10]
29
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
8
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
63_______2_______4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
6
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
5
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
8

 

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
71

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
73

đầu ra

[0, 2, 4, 6, 8, 10]
3

Ví dụ 4. Hiển thị Chuyển vị của 2D-Ma trận

Python3




['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
74

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
75
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
77
[0, 2, 4, 6, 8, 10]
56
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
80
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
82
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
83

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
84_______2_______5
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
86
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
88
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
90
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
83

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
84_______2_______5
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
94
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
96
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
98
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
1

 

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
00

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
01
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
03
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
1_______2_______4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
07
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
3
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
13
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
14
Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
16

 

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
18

đầu ra

[0, 2, 4, 6, 8, 10]
4

Ví dụ 5. Chuyển đổi trường hợp của từng ký tự trong một chuỗi

Python3




['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
19

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
20_______2_______0
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
22

 

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
23

[0, 2, 4, 6, 8, 10]
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
86
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
88
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
31
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
32
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
34
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
35
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
36
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
37

 

[10, 20, 30, 40, 50]
2

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
[0, 2, 4, 6, 8, 10]
9
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
6

đầu ra

[0, 2, 4, 6, 8, 10]
5

Ví dụ 6. Đảo ngược từng chuỗi trong một tuple

Python3




['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
43

[0, 2, 4, 6, 8, 10]
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
46
[0, 2, 4, 6, 8, 10]
71
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
6
Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
4
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
20
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
54
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
56
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
54
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
8

 

[10, 20, 30, 40, 50]
2

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
3
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
4
[0, 2, 4, 6, 8, 10]
9
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
6

đầu ra

[0, 2, 4, 6, 8, 10]
6

Ví dụ 7. Hiển thị tổng các chữ số của tất cả các phần tử lẻ trong danh sách

Python3




['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
65

[0, 2, 4, 6, 8, 10]
15
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
67

[10, 20, 30, 40, 50]
9
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
69
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
3

[10, 20, 30, 40, 50]
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
74_______2_______4
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
76
[0, 2, 4, 6, 8, 10]
26

[0, 2, 4, 6, 8, 10]
27_______12_______69
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
80
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
82
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
83

[10, 20, 30, 40, 50]
9
[0, 2, 4, 6, 8, 10]
34
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
69

 

 

['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
87

[0, 2, 4, 6, 8, 10]
9
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
0
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
5
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
91
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
93
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
95
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
97
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
99
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
7
Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
01
Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
4

 

Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
03

Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
04_______2_______0
Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
06
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
2
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
1
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
4
[0, 2, 4, 6, 8, 10]
9
['G', 'e', 'e', 'k', 's', ' ', '4', ' ', 'G', 'e', 'e', 'k', 's', '!']
7
Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
12
[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
6
Time taken for_loop: 0.56
Time taken for list_comprehension: 0.47
4

Python 2 có hiểu danh sách không?

Tính năng hiểu danh sách, lối tắt để tạo danh sách, đã có trong Python kể từ phiên bản 2. 0 . Trăn 2. 4 đã thêm một tính năng tương tự - biểu thức trình tạo; . 7 (và 3. 0) giới thiệu cách hiểu set và dict.

Có gì mới trong Python 2?

Tính năng mới lớn nhất trong Python 2. 0 là một kiểu dữ liệu cơ bản mới. Chuỗi Unicode . Unicode sử dụng các số 16 bit để biểu thị các ký tự thay vì số 8 bit được sử dụng bởi ASCII, nghĩa là có thể hỗ trợ 65.536 ký tự riêng biệt.

Khả năng hiểu danh sách có tốt hơn vòng lặp for Python không?

Tính năng hiểu danh sách là công cụ phù hợp để tạo danh sách — tuy nhiên, tốt hơn hết là sử dụng list(range()) . Vòng lặp for là công cụ phù hợp để thực hiện tính toán hoặc chạy các hàm. Trong bất kỳ trường hợp nào, hãy tránh sử dụng hoàn toàn vòng lặp for và cách hiểu danh sách. sử dụng tính toán mảng thay thế.

Khả năng hiểu danh sách có giống như vòng lặp for không?

Sự khác biệt giữa khả năng hiểu danh sách và vòng lặp for. Vòng lặp for là một cách phổ biến để lặp qua một danh sách. Mặt khác, việc hiểu danh sách là một cách hiệu quả hơn để lặp qua danh sách vì nó yêu cầu ít dòng mã hơn.