Khi bạn đang viết mã bằng Python, bạn có thể sử dụng hàm enumerate() và một for name in dogs: print(count, name) count += 10 để in ra từng giá trị của một lần lặp với một bộ đếm
Trong bài viết này, tôi sẽ chỉ cho bạn cách sử dụng hàm enumerate() của Python với một for name in dogs: print(count, name) count += 10 và giải thích lý do tại sao nó là một lựa chọn tốt hơn so với việc tạo bộ đếm tăng dần của riêng bạn
Nhưng trước tiên, hãy xem cách thực hiện điều này mà không cần hàm enumerate()
Cách sử dụng for name in dogs: print(count, name) count += 10 mà không có hàm enumerate() 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ó tên là for name in dogs: print(count, name) count += 16
dogs = ['Harley', 'Phantom', 'Lucky', 'Dingo'] count = 1Chúng ta có thể sử dụng một for name in dogs: print(count, name) count += 10 để xem qua danh sách và in ra từng tên. Chúng ta cũng sẽ tăng biến for name in dogs: print(count, name) count += 16 lên 1 mỗi lần để theo dõi xem chúng ta đã lặp lại danh sách bao nhiêu lần
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
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 biến for name in dogs: print(count, name) count += 16
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)Bây giờ biến for name in dogs: print(count, name) count += 16 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ự tăng biến for name in dogs: print(count, name) count += 16, chúng ta có thể sử dụng hàm enumerate() với biến for name in dogs: print(count, name) count += 10
Hàm enumerate() trong Python là gì?
Hàm enumerate() tích hợp sẵn của Python 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 đối số dogs = ['Harley', 'Phantom', 'Lucky', 'Dingo'] count = 1 for name in dogs: print(count, name)6 tùy chọn, thì số đếm được đặt thành 0
Giá trị trả về của hàm enumerate() là một đối tượng
Hàm này theo dõi các lần lặp nên bạn không cần phải nhớ cập nhật biến for name in dogs: print(count, name) count += 16
Chúng ta có thể sử dụng hàm enumerate() với for name in dogs: print(count, name) count += 10 để in ra các giá trị của một lần lặp có bộ đếm
Cách sử dụng hàm for name in dogs: print(count, name) count += 10 và hàm enumerate() trong Python
Trong ví dụ này, chúng tôi muốn in ra một danh sách các hướ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 enumerate(iterable, optional start argument)3
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 name in dogs: print(count, name) count += 10, chúng ta tạo các biến vòng lặp for name in dogs: print(count, name) count += 16 và enumerate(iterable, optional start argument)6
Hàm enumerate() sẽ nhận vào danh sách enumerate(iterable, optional start argument)3 và đối số dogs = ['Harley', 'Phantom', 'Lucky', 'Dingo'] count = 1 for name in dogs: print(count, name)6. 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 ta sẽ in ra các biến vòng lặp for name in dogs: print(count, name) count += 16 và enumerate(iterable, optional start argument)6
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
Như bạn có thể thấy biến for name in dogs: print(count, name) count += 16 được cập nhật tự động với hàm enumerate()
Điều này loại bỏ khả năng xảy ra lỗi nếu chúng ta quên tăng biến for name in dogs: print(count, name) count += 16
Phần kết luận
Bạn có thể sử dụng hàm enumerate() và một for name in dogs: print(count, name) count += 10 để in ra từng giá trị của một lần lặp có bộ đếm
Hàm enumerate() 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 đối số dogs = ['Harley', 'Phantom', 'Lucky', 'Dingo'] count = 1 for name in dogs: print(count, name)6 tùy chọn bị bỏ qua thì số đếm được đặt thành 0
Sử dụng hàm enumerate() là một giải pháp thay thế tốt hơn so với việc tạo bộ đếm tăng dần của riêng bạn trong một for name in dogs: print(count, name) count += 10
Hàm enumerate() tự động cập nhật số đếm giúp loại bỏ khả năng bạn có thể quên tăng số đếm
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
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Tôi là một nhạc sĩ và một lập trình viên
Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu