HomeLập trìnhPythonLiệt kê Python...

Liệt kê Python – Ví dụ Python Enum cho chỉ mục vòng lặp


Khi bạn viết mã bằng Python, bạn có thể sử dụng enumerate() chức năng và một for loop để in ra từng giá trị của một lần lặp với bộ đếm.

Trong bài viết này, tôi sẽ hướng dẫn các bạn cách sử dụng Python’s enumerate() chức năng với một for loop và giải thích tại sao đó là một lựa chọn tốt hơn so với việc tạo bộ đếm gia tăng của riêng bạn.

Nhưng trước tiên, chúng ta hãy xem làm thế nào để thực hiện điều này mà không cần enumerate() chức năng.

Làm thế nào để sử dụng một for loop không có enumerate() chức năng trong Python

Trong Python, một iterable là một đối tượng mà bạn có thể lặp đi lặp lại và trả về một giá trị tại một thời điểm. Ví dụ về iterables bao gồm danh sách, bộ dữ liệu và chuỗi.

Trong ví dụ này, chúng tôi có một danh sách tên con chó và một biến được gọi là count.

dogs = ['Harley', 'Phantom', 'Lucky', 'Dingo']
count = 1

Chúng ta có thể sử dụng một for loop để đi qua danh sách và in từng tên. Chúng tôi cũng sẽ tăng count biến bằng 1 mỗi lần để theo dõi số lần chúng tôi đã lặp lại danh sách.

for name in dogs:
    print(count, name)
    count += 1

Đây là kết quả sẽ trông giống như được in ra màn hình:

Đọc thêm  Cách gỡ lỗi mã Python của bạn bằng Trình gỡ lỗi Python (pdb)
Screen-Shot-2021-09-22-at-3.12.05-AM

Mặc dù cách tiếp cận này có hiệu quả nhưng nó có thể gây ra lỗi.

Một sai lầm phổ biến là quên tăng count Biến đổi.

Nếu tôi thay đổi mã, thì đây sẽ là kết quả mới được in ra bảng điều khiển:

dogs = ['Harley', 'Phantom', 'Lucky', 'Dingo']
count = 1
for name in dogs:
    print(count, name)
Screen-Shot-2021-09-22-at-3.15.00-AM

Bây giờ count biến không còn theo dõi chính xác số lần chúng tôi đã lặp qua danh sách.

Thay vì tăng một count biến mình, chúng ta có thể sử dụng enumerate() chức năng với for loop.

cái gì enumerate() chức năng trong Python?

Python được tích hợp sẵn enumerate() hàm nhận một đối số bắt đầu có thể lặp lại và tùy chọn.

enumerate(iterable, optional start argument)

Nếu bạn bỏ qua tùy chọn start đối số, thì số đếm được đặt thành không.

Giá trị trả về của enumerate() chức năng là một đối tượng.

Chức năng này theo dõi các lần lặp lại, do đó bạn không cần phải nhớ cập nhật count Biến đổi.

Chúng ta có thể sử dụng enumerate() chức năng với một for loop để in ra các giá trị của một lần lặp với bộ đếm.

Làm thế nào để sử dụng một for loopenumerate() chức năng trong Python

Trong ví dụ này, chúng tôi muốn in ra một danh sách chỉ đường đi từ Quảng trường Thời đại đến Trường Âm nhạc Juilliard ở Thành phố New York, New York.

Trước tiên chúng ta phải tạo danh sách các directions:

directions = [
    'Head north on Broadway toward W 48th St',
    'Turn left onto W 58th St',
    'Turn right onto 8th Ave',
    'Turn left onto Broadway',
    'Turn left onto Lincoln Center Plaza',
    'Turn right onto Jaffe Dr',
    'Turn left onto Broadway',
    'Turn left onto W 65th St'
]

Sau đó trong for loopchúng tôi tạo ra countdirection biến vòng lặp.

Đọc thêm  Danh sách được liên kết trong Python – Được giải thích bằng các ví dụ

Các enumerate() chức năng sẽ đưa vào directions danh sách và start tranh luận. Chúng tôi muốn bắt đầu đếm từ 1 thay vì mặc định là 0.

for count, direction in enumerate(directions, start=1):

Bên trong vòng lặp, chúng tôi sẽ in ra countdirection biến vòng lặp.

print(count, direction)

Đây là những gì trông giống như tất cả được đặt lại với nhau:

directions = [
    'Head north on Broadway toward W 48th St',
    'Turn left onto W 58th St',
    'Turn right onto 8th Ave',
    'Turn left onto Broadway',
    'Turn left onto Lincoln Center Plaza',
    'Turn right onto Jaffe Dr',
    'Turn left onto Broadway',
    'Turn left onto W 65th St'
]

for count, direction in enumerate(directions, start=1):
    print(count, direction)

Đây là kết quả trông như thế nào trong bảng điều khiển:

Screen-Shot-2021-09-22-at-3.52.27-AM

Như bạn có thể thấy count biến được cập nhật tự động với enumerate() chức năng.

Điều này loại bỏ khả năng xảy ra lỗi nếu chúng ta quên tăng count Biến đổi.

Phần kết luận

Bạn có thể dùng enumerate() chức năng và một for loop để in ra từng giá trị của một lần lặp với bộ đếm.

Các enumerate() hàm nhận một đối số bắt đầu có thể lặp lại và tùy chọn.

enumerate(iterable, optional start argument)

Nếu tùy chọn start đối số bị bỏ qua thì số đếm được đặt thành không.

Sử dụng enumerate() là một giải pháp thay thế tốt hơn so với việc tạo bộ đếm gia tăng của riêng bạn trong một for loop.

Các enumerate() chức năng tự động cập nhật số đếm, loại bỏ khả năng bạn có thể quên tăng số đếm.

Đọc thêm  %.2f trong Python – Nó có nghĩa là gì?

Tôi hy vọng bạn thích bài viết này và chúc may mắn trên hành trình Python của bạn.



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status