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:
lst = ['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:
for 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:
(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:
for item in enumerate(lst):
key, value = item
print(key)
print(value)
print()
Kết quả thực thi mã:
0, '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:
for key, value in enumerate(lst):
print(key)
print(value)
print()
Bài tập thực hành
Cho danh sách:
tst = [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.
Cho danh sách:
tst = ['a', 'b', 'c', 'd', 'e']
In ra console giá trị của các phần tử và chỉ số của chúng:
'a1'
'b2'
'c3'
'd4'
'e5'
Cho danh sách:
tst = [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.