Saturday, September 7, 2024

Đếm và lặp đồng thời trong Python với Enumerate

-

Tổng quan.

enumerate là một hàm nội tại trong Python được sử dụng để liệt kê các phần tử của một đối tượng có thể lặp (iterable) như list, tuple, string, v.v. Đặc biệt, nó còn gán chỉ số cho từng phần tử trong quá trình lặp, giúp bạn dễ dàng truy cập cả giá trị và vị trí của phần tử đó.

Cú pháp:

enumerate(iterable, start=0)
  • iterable: Đối tượng có thể lặp mà bạn muốn liệt kê.
  • start: Chỉ số bắt đầu, mặc định là 0. Bạn có thể tùy chỉnh để bắt đầu từ số khác.

Cách hoạt động:

enumerate trả về một đối tượng liệt kê, mỗi phần tử trong đối tượng này là một tuple chứa:

  • Chỉ số: Vị trí của phần tử trong iterable.
  • Giá trị: Giá trị của phần tử đó.

Ví dụ:

fruits = ['apple', 'banana', 'cherry']

# Sử dụng enumerate với chỉ số bắt đầu từ 0 (mặc định)
for index, fruit in enumerate(fruits):
    print(index, fruit)

# Sử dụng enumerate với chỉ số bắt đầu từ 1
for index, fruit in enumerate(fruits, start=1):
    print(index, fruit)

Kết quả:

0 apple
1 banana
2 cherry
1 apple
2 banana
3 cherry

Ứng dụng:

  • Truy cập cả chỉ số và giá trị: Khi bạn cần biết cả vị trí và giá trị của một phần tử trong một vòng lặp.
  • Tạo một dictionary từ một list: Bạn có thể sử dụng enumerate để tạo một dictionary với các key là chỉ số và các value là các phần tử tương ứng.
  • Tạo một danh sách các tuple: Bạn có thể sử dụng enumerate để tạo một danh sách các tuple, mỗi tuple chứa chỉ số và giá trị của một phần tử.

So sánh với vòng lặp truyền thống:

# Sử dụng vòng lặp truyền thống
fruits = ['apple', 'banana', 'cherry']
for i in range(len(fruits)):
    print(i, fruits[i])

# Sử dụng enumerate
for index, fruit in enumerate(fruits):
    print(index, fruit)

Cả hai cách đều cho kết quả giống nhau, nhưng enumerate thường được xem là sạch sẽ hơndễ đọc hơn, đặc biệt khi bạn không cần phải tính toán chỉ số bằng tay.

Tổng kết.

Enumerate là một công cụ rất hữu ích trong Python, giúp bạn làm việc với các iterable một cách hiệu quả hơn. Nó đơn giản hóa việc truy cập cả chỉ số và giá trị của các phần tử, làm cho code của bạn trở nên rõ ràng và dễ bảo trì.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories