Trong python, list có khả năng chứa các đối tượng sau:

Hướng dẫn cách sử dụng List comprehension trong Python. Bạn sẽ học được khái niệm List comprehension trong Python là gì cũng như cách sử dụng List comprehension để tạo list sau bài học này.

List comprehension trong Python là gì

List comprehension trong Python hay còn gọi là phương pháp viết nội hàm là một phương pháp đặc biệt chỉ có trong python mà không có trong bất kỳ ngôn ngữ nào khác, giúp bạn có thể tạo list trong python một cách cực kỳ đơn giản.

Khi làm việc với list, sẽ có những lúc bạn cần phải thao tác với những list có cấu trúc phức tạp, mà với phương pháp tạo list thông thường, bạn sẽ cần rất nhiều dòng code để có thể khởi tạo được chúng.

Nhưng những nhà sáng lập ra python với tôn chí python là Đơn giản thì tốt hơn phức tạp, đã tạo ra list comprehension-phương pháp đặc biệt chỉ python mới có, nhằm giúp bạn có thể rút gọn các dòng code cần thiết và tạo ra một list phức tạp chỉ trong nháy mắt.

Ngoài khả năng rút gọn các dòng code cần viết, tốc độ xử lý của phương pháp list comprehension trong Python cũng được cho là nhanh hơn các phương pháp khác.

Sử dụng list comprehension để tạo list trong Python

Cú pháp list comprehension trong python

Như ở phần định nghĩa Kiyoshi đã nói qua, chúng ta sử dụng list comprehension trong python chủ yếu để tạo list trong python.

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ó.

Chúng ta sử dụng list comprehension trong Python để tạo list với cú pháp sau đây:

[expression for variable in iterable]

Trong đó:

  • iterable là một đối tượng chứa nhiều phần tử trong python, ví dụ như một list, tuple, range hay set.
  • variable là một biến để gán giá trị phần tử lấy ra từ iterable.
  • expression là một biểu thức để tính toán với biến variable.

Về quy trình xử lý:

  1. Chúng ta dùng lệnh for để lấy ra lần lượt các phần tử có trong iterable và gán giá trị phần tử đó vào biến variable.
  2. Chúng ta dùng biểu thức expression để tính toán với biến variable và đưa ra một kết quả.
  3. Kết quả trên được dùng để tạo một phần tử trong list mới.

Hãy cùng xem một số ví dụ về cách sử dụng list comprehension để tạo list trong Python sau đây.

Ví dụ cụ thể về sử dụng list comprehension trong python

Tạo một list gồm các số từ 1 đến 5

Cách thông thường:

old_list = list[range[0,6]]
comprehension_list = []

for phantu in old_list:
comprehension_list.append[phantu]

Sử dụng list comprehension trong python:

comprehension_list = [number for number in range[0,6]]

Cả hai đều đưa ra cùng kết quả:

print[comprehension_list]

Bạn thấy đó, cùng một kết quả nhưng với việc sử dụng list comprehension đã giúp chúng ta rút gọn code, giảm đi bao nhiêu là công sức rồi đấy.

Tạo một list có phần tử là bình phương các số từ 1 đến 5

Cách thông thường:

old_list = list[range[0,6]]
comprehension_list = []

for phantu in old_list:
phantu_moi = phantu**2
comprehension_list.append[phantu_moi]

Sử dụng list comprehension trong python:

comprehension_list = [number**2 for number in range[0,6]]

Cả hai đều cho ra cùng kết quả:

print[comprehension_list]

Cho một list gồm các string khác nhau, tạo ra một list mới với các string ở định dạng LOWER [viết thường]

Để giải quyết bài toán này, chúng ta cần kết hợp phương thức lower[] giúp chuyển chữ hoa thành chữ thường trong chuỗi python.

Chúng ta sử dụng list comprehension trong python như sau:

list_thanhpho = ['Long An', 'Ha Noi','Nam Dinh']
list_thanhpho_thuong = [thanhpho.lower[] for thanhpho in list_thanhpho]

print[list_thanhpho_thuong]

Bạn có thể thấy với cách viết thông thường, biểu thức càng phức tạp thì số dòng chúng ta cần code sẽ lại càng tăng lên.
Thế nhưng với list comprehension, bạn cũng chỉ cần một dòng code thôi là giải quyết được vấn đề rồi đó.
IT’S SO COOL

Sử dụng hàm tự tạo trong List comprehension python

Ở phần trên chúng ta đã dùng các hàm tích hợp sẵn trong python như lower,upper, cộng trừ nhân chia v.v… trong các biểu thức tính toán.
Ngoài cách dùng hàm tích hợp sẵn, bạn cũng có thể sử dụng hàm tự tạo để chỉ định biểu thức tính toán trong List comprehension python giống như ví dụ sau đây:

Cho một list số nguyên. Hãy tạo một list số mới có phần tử là luỹ thừa của các số trong list cũ

list_số = list[range[11]]


def tim_luy_thua[số]:
return số ** 2


list_mới = [tim_luy_thua[số] for số in list_số]

print[list_mới]

Cho danh sách tên các con vật, tạo ra một danh sách mới chứa tên các con vật có 4 chân.

list_animal = ['chó', 'mèo', 'rắn', 'voi', 'cá']


def tim_thu_bon_chan [animal]:
if animal in ['chó', 'mèo','voi']:
return animal


thu_bon_chan = [animal for animal in list_animal if tim_thu_bon_chan[animal]]

print[thu_bon_chan]

Sử dụng list comprehension trong Python kèm với hàm IF

Chúng ta cũng có thể sử dụng list comprehension trong Python kèm với hàm điều kiện IF.Lúc này, chỉ khi nào biểu thức điều kiện của hàm if đúng, thì vòng lặp for mới được chạy để tạo phần tử cho list mới.

Cú pháp viết sẽ như sau đây:

Video liên quan

Chủ Đề