Hướng dẫn what is the syntax for list comprehension in python? - cú pháp để hiểu danh sách trong python là gì?


Danh sách hiểu

Danh sách Hiểu biết cung cấp một cú pháp ngắn hơn khi bạn muốn tạo một danh sách mới dựa trên các giá trị của một danh sách hiện có.

Example:

Dựa trên danh sách các loại trái cây, bạn muốn có một danh sách mới, chỉ chứa các loại trái cây có chữ "A" trong tên.

Không có danh sách hiểu, bạn sẽ phải viết một câu lệnh

even_nums = []
for x in range(21):
    if x%2 == 0:
        even_nums.append(x)
print(even_nums)
5 với một bài kiểm tra có điều kiện bên trong:

Thí dụ

trái cây = ["Apple", "chuối", "anh đào", "kiwi", "xoài"] newlist = []
newlist = []

cho x trong trái cây: & nbsp; Nếu "A" trong x: & nbsp; & nbsp; & nbsp; newlist.append (x)
  if "a" in x:
    newlist.append(x)

print(newlist)

Hãy tự mình thử »

Với danh sách hiểu, bạn có thể làm tất cả những điều đó chỉ với một dòng mã:

Thí dụ

trái cây = ["Apple", "chuối", "anh đào", "kiwi", "xoài"] newlist = []

cho x trong trái cây: & nbsp; Nếu "A" trong x: & nbsp; & nbsp; & nbsp; newlist.append (x)

print(newlist)

Hãy tự mình thử »



Với danh sách hiểu, bạn có thể làm tất cả những điều đó chỉ với một dòng mã:

Trái cây = ["Apple", "chuối", "Cherry", "Kiwi", "Mango"]]]

newList = [x cho x trong trái cây nếu "A" trong x]


Cú pháp

newList = [Biểu thức cho mục trong ITable IF điều kiện == true]

Thí dụ

trái cây = ["Apple", "chuối", "anh đào", "kiwi", "xoài"] newlist = []

cho x trong trái cây: & nbsp; Nếu "A" trong x: & nbsp; & nbsp; & nbsp; newlist.append (x)

Hãy tự mình thử »

Với danh sách hiểu, bạn có thể làm tất cả những điều đó chỉ với một dòng mã:if x != "apple"  will return

even_nums = []
for x in range(21):
    if x%2 == 0:
        even_nums.append(x)
print(even_nums)
6 for all elements other than "apple", making the new list contain all fruits except "apple".

Trái cây = ["Apple", "chuối", "Cherry", "Kiwi", "Mango"]]]


newList = [x cho x trong trái cây nếu "A" trong x]

Cú pháp

Thí dụ

trái cây = ["Apple", "chuối", "anh đào", "kiwi", "xoài"] newlist = []

cho x trong trái cây: & nbsp; Nếu "A" trong x: & nbsp; & nbsp; & nbsp; newlist.append (x)

Hãy tự mình thử »

Với danh sách hiểu, bạn có thể làm tất cả những điều đó chỉ với một dòng mã:

Thí dụ

trái cây = ["Apple", "chuối", "anh đào", "kiwi", "xoài"] newlist = []

cho x trong trái cây: & nbsp; Nếu "A" trong x: & nbsp; & nbsp; & nbsp; newlist.append (x)

Hãy tự mình thử »


Với danh sách hiểu, bạn có thể làm tất cả những điều đó chỉ với một dòng mã:

Trái cây = ["Apple", "chuối", "Cherry", "Kiwi", "Mango"]]]

Thí dụ

trái cây = ["Apple", "chuối", "anh đào", "kiwi", "xoài"] newlist = []

cho x trong trái cây: & nbsp; Nếu "A" trong x: & nbsp; & nbsp; & nbsp; newlist.append (x)

Hãy tự mình thử »

Với danh sách hiểu, bạn có thể làm tất cả những điều đó chỉ với một dòng mã:

Thí dụ

Trái cây = ["Apple", "chuối", "Cherry", "Kiwi", "Mango"]]]

newList = [x cho x trong trái cây nếu "A" trong x]

Hãy tự mình thử »

Với danh sách hiểu, bạn có thể làm tất cả những điều đó chỉ với một dòng mã:

Thí dụ

Trái cây = ["Apple", "chuối", "Cherry", "Kiwi", "Mango"]]]

newList = [x cho x trong trái cây nếu "A" trong x]

Hãy tự mình thử »

Với danh sách hiểu, bạn có thể làm tất cả những điều đó chỉ với một dòng mã:

Trái cây = ["Apple", "chuối", "Cherry", "Kiwi", "Mango"]]]



Danh sách hiểu trong Python là một cú pháp dễ dàng và nhỏ gọn để tạo danh sách từ một chuỗi hoặc danh sách khác. Đó là một cách rất ngắn gọn để tạo một danh sách mới bằng cách thực hiện một thao tác trên mỗi mục trong danh sách hiện có. Danh sách hiểu nhanh hơn đáng kể so với xử lý một danh sách bằng cách sử dụng vòng lặp.

[expression for element in iterable if condition]

Theo cú pháp trên, cú pháp hiểu biết danh sách chứa ba phần: một biểu thức, một hoặc nhiều cho vòng lặp và tùy chọn, một hoặc nhiều điều kiện nếu điều kiện. Danh sách hiểu phải nằm trong khung vuông

even_nums = []
for x in range(21):
    if x%2 == 0:
        even_nums.append(x)
print(even_nums)
9. Kết quả của biểu thức đầu tiên sẽ được lưu trữ trong danh sách mới. Vòng lặp For được sử dụng để lặp lại trên đối tượng có thể tùy chọn bao gồm điều kiện if.

Giả sử chúng ta muốn tìm các số chẵn từ 0 đến 20 sau đó chúng ta có thể thực hiện nó bằng cách sử dụng một vòng lặp, như được hiển thị bên dưới:

even_nums = []
for x in range(21):
    if x%2 == 0:
        even_nums.append(x)
print(even_nums)

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

Kết quả tương tự có thể dễ dàng đạt được bằng cách sử dụng kỹ thuật hiểu danh sách dưới đây.

even_nums = [x for x in range(21) if x%2 == 0]
print(even_nums)

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

Trong ví dụ trên,

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
0 trả về một danh sách mới bằng cách sử dụng danh sách hiểu. Đầu tiên, nó thực thi For Loop
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
1. Phần tử
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
2 sẽ được trả về nếu điều kiện được chỉ định
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
3 đánh giá là TRUE. Nếu điều kiện đánh giá là TRUE, thì biểu thức trước cho vòng lặp sẽ được thực thi và lưu trữ trong danh sách mới. Ở đây, biểu thức
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
2 chỉ đơn giản lưu trữ giá trị của
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
2 vào một danh sách mới.

Danh sách hiểu biết hoạt động với danh sách chuỗi cũng. Sau đây tạo ra một danh sách các chuỗi mới có chứa 'A'.

names = ['Steve', 'Bill', 'Ram', 'Mohan', 'Abdul']
names2 = [s for s in names if 'a' in s]
print(names2)

Trên đây, biểu thức

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
6 trả về đúng nếu một phần tử chứa một ký tự 'A'. Vì vậy, danh sách mới sẽ bao gồm các tên có chứa 'A'.

Ví dụ sau đây sử dụng danh sách hiểu biết để xây dựng danh sách các bình phương của các số từ 1 đến 10.

squares = [x*x for x in range(11)] 
print(squares) 

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

Ở trên, A cho vòng lặp

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
7 được thực thi mà không có bất kỳ điều kiện nào. Biểu thức trước cho Loop
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
8 lưu trữ bình phương của phần tử trong danh sách mới.

Danh sách hiểu biết bằng cách sử dụng các vòng lặp lồng nhau

Có thể sử dụng các vòng lặp lồng nhau trong một biểu thức hiểu danh sách. Trong ví dụ sau, tất cả các kết hợp các mục từ hai danh sách dưới dạng một tuple được thêm vào trong một đối tượng danh sách thứ ba.

nums1 = [1, 2, 3]
nums2 = [4, 5, 6]
nums=[(x,y) for x in nums1 for y in nums2]
print(nums)

[(1, 4), (1, 5), (1, 6), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6)]

Liệt kê sự hiểu biết với nhiều điều kiện nếu điều kiện

Chúng ta có thể sử dụng lồng nhau nếu các điều kiện với một danh sách hiểu.

even_nums = []
for x in range(21):
    if x%2 == 0:
        even_nums.append(x)
print(even_nums)
0

Liệt kê sự hiểu biết với điều kiện IF-Else

Ví dụ sau đây cho thấy vòng lặp if..else với sự hiểu biết danh sách.

even_nums = []
for x in range(21):
    if x%2 == 0:
        even_nums.append(x)
print(even_nums)
1

even_nums = []
for x in range(21):
    if x%2 == 0:
        even_nums.append(x)
print(even_nums)
2

Danh sách phẳng bằng cách sử dụng danh sách hiểu

Một trong những ứng dụng của sự hiểu biết danh sách là làm phẳng danh sách bao gồm nhiều danh sách vào một danh sách duy nhất.

even_nums = []
for x in range(21):
    if x%2 == 0:
        even_nums.append(x)
print(even_nums)
3

even_nums = []
for x in range(21):
    if x%2 == 0:
        even_nums.append(x)
print(even_nums)
4

Tìm hiểu thêm về cách làm phẳng danh sách trong Python.

Làm cách nào để tạo ra một danh sách hiểu trong Python?

Viết lại các vòng lặp và bản đồ () gọi như một danh sách hiểu trong Python. Chọn giữa các cuộc gọi, vòng lặp và các cuộc gọi bản đồ () ...
Khởi tạo một danh sách trống ..
Vòng lặp trên một phần tử hoặc một loạt các yếu tố ..
Nối từng phần tử vào cuối danh sách ..

Cú pháp cốt lõi để hiểu danh sách là gì?

Theo cú pháp trên, cú pháp hiểu biết danh sách chứa ba phần: một biểu thức, một hoặc nhiều cho vòng lặp và tùy chọn, một hoặc nhiều điều kiện nếu điều kiện.Danh sách hiểu phải nằm trong dấu ngoặc vuông [].Kết quả của biểu thức đầu tiên sẽ được lưu trữ trong danh sách mới.an expression, one or more for loop, and optionally, one or more if conditions. The list comprehension must be in the square brackets [] . The result of the first expression will be stored in the new list.

Tại sao chúng ta sử dụng danh sách hiểu trong Python?

Danh sách Hiểu biết cung cấp một cú pháp ngắn hơn khi bạn muốn tạo một danh sách mới dựa trên các giá trị của một danh sách hiện có.Ví dụ: Dựa trên danh sách các loại trái cây, bạn muốn có một danh sách mới, chỉ chứa các loại trái cây có chữ "A" trong tên.

Danh sách hiểu biết giải thích là gì?

Danh sách hiểu là một cách dễ đọc, nhỏ gọn và thanh lịch để tạo một danh sách từ bất kỳ đối tượng có thể lặp lại hiện có nào.Về cơ bản, đó là một cách đơn giản hơn để tạo một danh sách mới từ các giá trị trong danh sách bạn đã có.Nó thường là một dòng mã duy nhất được đặt trong dấu ngoặc vuông.an easy to read, compact, and elegant way of creating a list from any existing iterable object. Basically, it's a simpler way to create a new list from the values in a list you already have. It is generally a single line of code enclosed in square brackets.