2
List Comprehension trong Python là gì?
2
Therma20 đã đăng:

thêm bình luận...
1
VTV330 đã đăng:

Trong lập trình Python, đôi khi bạn cần tạo một list mới để chứa một số phần tử nào đó thỏa điều kiện mà bạn muốn từ list ban đầu, ví dụ như lấy ra những phần tử trong mảng là các số chia hết cho 3 chẳng hạn.

arr = [1, 3, 4, 7, 9, 12, 17, 20, 24]

new_arr = [] # Tạo một mảng mới để chứa phần tử cần lấy
for number in arr: # Duyệt mảng ban đầu, nếu thỏa điều kiện chia hết cho 3, lưu vào mảng mới.
    if number % 3 == 0:
        new_arr.append(number)

Bạn có thể thấy cách tạo list như trên không những dài dòng mà còn rườm rà với các câu lệnh điều kiện if rồi append nữa, một cách khác để tạo list mới từ list ban đầu được cung cấp bởi Python ngắn gọn và hiệu quả hơn gọi là List Comprehension.

Chỉ với một dòng code thay thế cho 4 câu lệnh ở trên,

new_arr = [number for number in arr if number % 3 == 0]

Có thể hiểu là for number in arr (với mỗi phần tử trong mảng) if number % 3 == 0 (nếu nó chia hết cho 3) thì number (lấy số đó ra hay trả về số đó).

Ví dụ phức tạp hơn xíu, lấy ra phần tử chia hết cho 3 và là số chẵn:

new_arr = [number for number in arr if number % 3 == 0 and number % 2 == 0]
# = [12, 24]
đã bổ sung 5.5 năm trước bởi
Avatar: VTV3 VTV330
thêm bình luận...
0
Cộng đồng đã đăng:

List Comprehension trong Python giúp bạn có thể tạo list trong python một cách cực kỳ đơn giản nha.

List comprehension không những giúp chúng ta tạo ra các list đơn giản, mà còn có thể tạo ra các list đa chiều có cấu trúc phức tạp mà với các phương pháp tạo list thông thường, bạn cần rất nhiều xử lý để hoàn thành được nó.

Nguồn : Sử dụng list comprehension trong Python | Lập trình căn bản - học lập trình theo phong cách Nhật Bản!

thêm bình luận...
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)