Lấy phần tử và chỉ số của chúng trong Python

Từ một đối tượng có thể lặp (iterable), bạn có thể xuất ra không chỉ các phần tử mà còn cả chỉ số của chúng. Để làm điều này, sử dụng hàm enumerate. Trong tham số của nó, chỉ định đối tượng có thể lặp cần thiết.

Ví dụ

Giả sử chúng ta có danh sách lst:

pythonlst = ['a', 'b', 'c']

Hãy xuất các phần tử từ nó cùng với chỉ số của chúng. Hãy biểu thị cặp phần tử-chỉ số dưới dạng biến item, biến mà chúng ta sẽ tìm trong đối tượng được truyền vào hàm enumerate:

pythonfor item in enumerate(lst):
  print(item)

Sau khi thực thi mã, các tuple gồm chỉ số và phần tử sẽ được in ra:

python(0, 'a')
(1, 'b')
(2, 'c')

Ví dụ

Để lấy riêng biệt các phần tử và chỉ số của chúng, bạn có thể giải nén chúng thông qua hai biến key và value:

pythonfor item in enumerate(lst):
  key, value = item
  print(key)
  print(value)
  print()

Kết quả thực thi mã:

python0, 'a'

1, 'b'

2, 'c'

Ở dạng rút gọn, chỉ số và phần tử có thể được viết ngay trong khối for:

pythonfor key, value in enumerate(lst):
  print(key)
  print(value)
  print()

Bài tập thực hành

Задание 1

Cho danh sách:

pythontst = [8, 6, -4, 2, -1]

In ra console giá trị của các phần tử và chỉ số của chúng cho đến số âm đầu tiên.

Задание 2

Cho danh sách:

pythontst = ['a', 'b', 'c', 'd', 'e']

In ra console giá trị của các phần tử và chỉ số của chúng:

python'a1'
'b2'
'c3'
'd4'
'e5'
Задание 3

Cho danh sách:

pythontst = [1, 2, 3, 4, 5]

Các phần tử ở vị trí chẵn hãy nâng lên bình phương, còn ở vị trí lẻ - lên lũy thừa ba.