Hàm Enumerate() trong Python: Vòng lặp, Bộ dữ liệu, Chuỗi (Ví dụ)

Là gì Python Liệt kê?

Python Liệt kê() là một chức năng tích hợp sẵn với Python thư viện. Nó lấy đầu vào đã cho dưới dạng một tập hợp hoặc các bộ dữ liệu và trả về dưới dạng một đối tượng liệt kê. các Python Lệnh Enumerate() thêm bộ đếm vào từng mục của đối tượng có thể lặp lại và trả về một đối tượng liệt kê dưới dạng chuỗi đầu ra.

Cú pháp của Python liệt kê ()

enumerate(iterable, startIndex)

Thông số Kỹ thuật

Ba tham số là:

  • Lặp lại: một đối tượng có thể được lặp.
  • chỉ mục bắt đầu: (tùy chọn) Việc đếm sẽ bắt đầu bằng giá trị được cung cấp trong startIndex cho mục đầu tiên trong vòng lặp và tăng dần cho mục tiếp theo cho đến khi đạt đến cuối vòng lặp.

Tuy nhiên, nếu startIndex không được chỉ định thì số đếm sẽ bắt đầu từ 0.

Giá trị trả về

Nó sẽ trả về một đối tượng lặp, với giá trị đếm cho từng mục của đối tượng lặp được cung cấp làm đầu vào.

Liệt kê() trong Python Ví dụ

Phương thức liệt kê đi kèm với bộ đếm/chỉ mục tự động cho từng mục có trong danh sách Enumerate trong Python. Giá trị firstindex sẽ bắt đầu từ 0. Bạn cũng có thể chỉ định startindex bằng cách sử dụng tham số tùy chọn startIndex trong enumerate.
Ví dụ
Trong đoạn mã bên dưới, mylist là danh sách được cung cấp cho hàm Enumerate trong Python. Các hàm danh sách() được sử dụng để hiển thị Enumerate Python đầu ra.

Lưu ý: Không có startIndex nào được sử dụng do đó chỉ mục cho mục đầu tiên sẽ bắt đầu từ 0.

Đầu ra của lệnh enumerate sẽ như sau:

(0, item_1), (1, item_2), (2, item_3), … (n, item_n)

Tập tin: python_enumerate.py

mylist = ['A', 'B' ,'C', 'D']
e_list = enumerate(mylist)
print(list(e_list))

Đầu ra:

[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]

Sử dụngEnumerate() trên danh sách có startIndex

Trong ví dụ dưới đây, chỉ mục bắt đầu được cung cấp là 2. Chỉ mục của mục đầu tiên sẽ bắt đầu từ chỉ mục bắt đầu đã cho.

Ví dụ:

Trong ví dụ dưới đây, mylist là danh sách được đưa ra để liệt kê. Hàm list() được sử dụng để hiển thị kết quả liệt kê.

mylist = ['A', 'B' ,'C', 'D']
e_list = enumerate(mylist,2)
print(list(e_list))

Đầu ra:

[(2, 'A'), (3, 'B'), (4, 'C'), (5, 'D')]

Vòng lặp trên một đối tượng Enumerate

Ví dụ này cho thấy việc liệt kê một đối tượng có và không có startIndex.

  • Vòng lặp for đầu tiên không có startIndex nên chỉ số bắt đầu từ 0.
  • Vòng lặp for thứ hai có startIndex là 10, vì vậy chỉ mục bắt đầu từ 10.

Ví dụ:

mylist = ['A', 'B' ,'C', 'D']

for i in enumerate(mylist):
  print(i)
  print("\n")

print("Using startIndex as 10")    

for i in enumerate(mylist, 10):
  print(i)
  print("\n")

Đầu ra:

(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')

Using startIndex as 10
(10, 'A')
(11, 'B')
(12, 'C')
(13, 'D')

Liệt kê một Tuple

Trong ví dụ dưới đây, bạn có thể sử dụng một bộ dữ liệu bên trong một bảng liệt kê. Bạn cũng có thể sử dụng startIndex và khóa cho mỗi mục sẽ bắt đầu từ startIndex đã cho.

Theo mặc định, startIndex là 0. Ở đó, do đó bạn thấy khóa là 0 cho mục A và 1 cho mục B, v.v.

Ví dụ:

my_tuple = ("A", "B", "C", "D", "E")
for i in enumerate(my_tuple):
  print(i)

Đầu ra:

(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')
(4, 'E')

Liệt kê một chuỗi

In Python, chuỗi là một mảng và do đó bạn có thể lặp lại nó. Nếu bạn chuyển một chuỗi tới enumerate(), kết quả đầu ra sẽ hiển thị cho bạn chỉ mục và giá trị cho từng ký tự của chuỗi.

Ví dụ:

my_str = "Guru99 "
for i in enumerate(my_str):
  print(i)

Đầu ra:

(0, 'G')
(1, 'u')
(2, 'r')
(3, 'u')
(4, '9')
(5, '9')

Liệt kê một từ điển

In Python, một từ điển được liệt kê trong dấu ngoặc nhọn, bên trong dấu ngoặc nhọn này, các giá trị được khai báo.

Mỗi phần tử là một cặp khóa/giá trị và được phân tách bằng dấu phẩy. Bạn có thể sử dụng từ điển bên trong enumerate() và xem kết quả đầu ra.

my_dict = {"a": "PHP", "b":"JAVA", "c":"PYTHON", "d":"NODEJS"}
for i in enumerate(my_dict):
  print(i)

Đầu ra:

(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')

Ưu điểm của việc sử dụng Enumerate

Dưới đây là những ưu/lợi ích của việc sử dụng Enumerate trong Python:

  • Enumerate cho phép bạn lặp qua danh sách, bộ dữ liệu, từ điển, chuỗi và đưa ra các giá trị cùng với chỉ mục.
  • Để lấy giá trị chỉ mục bằng vòng lặp for, bạn có thể sử dụng list.index(n). Tuy nhiên, list.index(n) rất tốn kém vì nó sẽ đi qua vòng lặp for hai lần. Enumerate rất hữu ích trong trường hợp này vì nó cung cấp chỉ mục và các mục cùng một lúc.

Tổng kết

  • Hàm Enumerate() là hàm được tích hợp sẵn trong python. Hàm Enumerate() thêm bộ đếm vào từng mục của đối tượng có thể lặp lại và trả về một đối tượng liệt kê.
  • Trong liệt kê ở Python, bạn có thể chỉ định startIndex, tức là bộ đếm mà bạn muốn các giá trị bắt đầu từ đó.
  • Enumerate có thể được sử dụng để lặp qua danh sách, bộ dữ liệu, từ điển và chuỗi.
  • Enumerate rất hữu ích khi bạn muốn chỉ mục và giá trị khi lặp qua danh sách, bộ dữ liệu, từ điển, v.v.
  • Enumerate đi kèm với bộ đếm/chỉ mục tự động cho từng mục có trong danh sách. Giá trị chỉ mục đầu tiên sẽ bắt đầu từ 0. Bạn cũng có thể chỉ định chỉ mục bắt đầu bằng cách sử dụng tham số tùy chọn startIndex trong bảng liệt kê.
  • Nếu bạn chuyển một chuỗi tới enumerate(), kết quả đầu ra sẽ hiển thị cho bạn chỉ mục và giá trị cho từng ký tự của chuỗi.