Cách sử dụng các hàm built-in enumerate, range, max và len trong Python

1. Hàm enumerate()

Hàm enumerate() được sử dụng để thêm một bộ đếm vào một iterable (như list, tuple, hoặc string) và trả về một đối tượng enumerate. Đối tượng này thực chất là một iterator sinh ra các tuple chứa chỉ số (index) và giá trị tương ứng.

from collections.abc import Iterator

languages = ["Python", "Java", "Golang"]
enum_data = enumerate(languages)

print(type(enum_data))  # <class 'enumerate'>
print(isinstance(enum_data, Iterator))  # True

# Truy xuất dưới dạng tuple duy nhất
for item in enum_data:
    print(item)
# Kết quả: (0, 'Python'), (1, 'Java'), (2, 'Golang')

Bạn có thể giải nén (unpacking) trực tiếp các giá trị trong vòng lặp và tùy chỉnh giá trị khởi đầu của chỉ số thông qua tham số start.

tech_stack = ["React", "Node.js", "Docker"]
# Bắt đầu đánh số từ 100
for idx, val in enumerate(tech_stack, start=100):
    print(f"Index: {idx}, Value: {val}")

# Kết quả:
# Index: 100, Value: React
# Index: 101, Value: Node.js
# Index: 102, Value: Docker

2. Hàm range()

Hàm range() tạo ra một dãy số nguyên. Đây là một đối tượng thuộc lớp range, có khả năng lặp (iterable) nhưng bản thân nó không phải là một iterator.

# range(stop)
for i in range(3):
    print(i) # 0, 1, 2

# range(start, stop, step)
numbers = range(10, 0, -2)
print(list(numbers)) # [10, 8, 6, 4, 2]

3. Hàm max()

Hàm max() trả về phần tử có giá trị lớn nhất trong một iterable hoặc giá trị lớn nhất trong số các đối số được truyền vào. Bạn có thể tùy chỉnh tiêu chí so sánh thông qua tham số key.

# Sử dụng với List
items = ["apple", "banana", "cherry", "date"]
print(max(items)) # date (so sánh theo thứ tự bảng chữ cái)

# Sử dụng với Key (lambda) để tìm chuỗi dài nhất
print(max(items, key=lambda s: len(s))) # banana

# Sử dụng với Dictionary (mặc định so sánh key)
prices = {"laptop": 1000, "mouse": 50, "monitor": 300}
print(max(prices)) # mouse (so sánh key theo bảng chữ cái)
print(max(prices, key=lambda k: prices[k])) # laptop (tìm key có giá trị lớn nhất)

4. Hàm len()

Hàm len() trả về số lượng phần tử (độ dài) của một đối tượng. Nó hoạt động với hầu hết các kiểu dữ liệu cấu trúc trong Python.

# List và Tuple
print(len([10, 20, 30])) # 3
print(len(("a", "b")))    # 2

# String (đếm số ký tự)
print(len("Python 3"))   # 8

# Dictionary và Set
user_info = {"id": 1, "name": "Admin", "role": "Super"}
unique_chars = {1, 2, 2, 3}
print(len(user_info))    # 3
print(len(unique_chars)) # 3 (set loại bỏ phần tử trùng lặp)

Thẻ: python built-in functions enumerate range max

Đăng vào ngày 9 tháng 8 lúc 20:43