Comprehensions trong Python: List, Dictionary, Set

List Comprehensions (Comprehensions danh sách)

  • List comprehensions là cách gọn gàng và hiệu quả để tạo danh sách trong Python.
  • Chúng cho phép bạn tạo một danh sách mới bằng cách áp dụng một biểu thức cho mỗi phần tử trong một iterable hiện có (ví dụ: danh sách, tuple, chuỗi) và lọc các phần tử dựa trên điều kiện.
  • Cú pháp của list comprehensions là: [biểu_thức for phần_tử in iterable if điều_kiện]

Ví dụ:

# List comprehension để tạo danh sách bình phương của các số từ 0 đến 9
squares = [x**2 for x in range(10)]
print(squares)   # Output: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# List comprehension để lọc các số chẵn từ một danh sách
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [x for x in numbers if x % 2 == 0]
print(even_numbers)   # Output: [2, 4, 6, 8, 10]

 

Dictionary Comprehensions (Comprehensions từ điển)

  • Dictionary comprehensions cho phép bạn tạo từ điển một cách gọn gàng.
  • Tương tự như list comprehensions, chúng tạo ra một từ điển mới bằng cách áp dụng một biểu thức cho mỗi phần tử trong một iterable và lọc các phần tử dựa trên điều kiện.
  • Cú pháp của dictionary comprehensions là: {biểu_thức_khóa: biểu_thức_giá_trị for phần_tử in iterable if điều_kiện}

Ví dụ:

# Dictionary comprehension để tạo một từ điển bình phương của các số từ 0 đến 9
squares_dict = {x: x**2 for x in range(10)}
print(squares_dict)   # Output: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

# Dictionary comprehension để lọc các số chẵn từ một từ điển
numbers_dict = {1: 'một', 2: 'hai', 3: 'ba', 4: 'bốn', 5: 'năm'}
even_numbers_dict = {key: value for key, value in numbers_dict.items() if key % 2 == 0}
print(even_numbers_dict)   # Output: {2: 'hai', 4: 'bốn'}

 

Set Comprehensions (Comprehensions tập hợp)

  • Set comprehensions cho phép bạn tạo tập hợp một cách gọn gàng giống như list comprehensions và dictionary comprehensions.
  • Chúng tạo ra một tập hợp mới bằng cách áp dụng một biểu thức cho mỗi phần tử trong một iterable và lọc các phần tử dựa trên điều kiện.
  • Cú pháp của set comprehensions là: {biểu_thức for phần_tử in iterable if điều_kiện}

Ví dụ:

# Set comprehension để tạo một tập hợp bình phương của các số từ 0 đến 9
squares_set = {x**2 for x in range(10)}
print(squares_set)   # Output: {0, 1, 4, 9, 16, 25, 36, 49, 64, 81}

# Set comprehension để lọc các số chẵn từ một tập hợp
numbers_set = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
even_numbers_set = {x for x in numbers_set if x % 2 == 0}
print(even_numbers_set)   # Output: {2, 4, 6, 8, 10}

 

Comprehensions trong Python cung cấp cách tạo danh sách, từ điển và tập hợp một cách gọn gàng và dễ đọc, giúp mã của bạn trở nên thanh lịch và hiệu quả.