Thông thường, khi xử lý các trình vòng lặp, chúng ta cũng cần phải đếm số lần lặp. Python giảm bớt nhiệm vụ của lập trình viên bằng cách cung cấp hàm tích hợp enumerate() cho nhiệm vụ này. Phương thức Enumerate () thêm bộ đếm vào một lần lặp và trả về nó ở dạng đối tượng liệt kê. Đối tượng được liệt kê này sau đó có thể được sử dụng trực tiếp cho các vòng lặp hoặc được chuyển đổi thành một danh sách các bộ bằng cách sử dụng phương thức list().
Các bài viết liên quan:
Cú pháp:
enumerate(iterable, start=0)
Thông số:
- Iterable: bất kỳ đối tượng nào hỗ trợ phép lặp
- start: giá trị chỉ mục mà từ đó bộ đếm được bắt đầu, theo mặc định là 0
Ví dụ
# một list trong python l1 = ["list1","list2", "list3"] s1 = "test" # tạo đối tượng enumerate obj1 = enumerate(l1) obj2 = enumerate(s1) print ("type của obj1:", type(obj1)) print (list(enumerate(l1))) # đổi index từ 2 đến hết print (list(enumerate(s1, 2)))
kết quả:
type của obj1: <class 'enumerate'> [(0, 'list1'), (1, 'list2'), (2, 'list3')] [(2, 't'), (3, 'e'), (4, 's'), (5, 't')] >
Sử dụng đối tượng liệt kê trong các vòng lặp:
#định nghĩa vòng lặp l1 = ["item1", "item2", "item3"] # sử dụng lặp for cho l1 sử dụng enumerate for ele in enumerate(l1): print (ele) # đổi index và in ra giá trị element for count, ele in enumerate(l1, 100): print (count, ele) # xuất ra giá trị count và element for count, ele in enumerate(l1): print(count) print(ele)
kết quả:
(0, 'item1') (1, 'item2') (2, 'item3') 100 item1 101 item2 102 item3 0 item1 1 item2 2 item3 >