Khi dùng danh sách Python, ta cần truy cập phần tử ở các vị trí khác nhau. Trong bài này, ta sẽ thấy cách lấy chỉ số của phần tử cụ thể trong list.
Với list.index
Chương trình dưới lấy giá trị chỉ số của các phần tử khác nhau trong list cho trước. Ta cung cấp giá trị phần tử làm tham số và hàm index trả về vị trí chỉ số của phần tử đó.
Ví dụ
listA = [11, 45, 27, 8, 43]
# In chỉ số của '45'
print("Index of 45: ", listA.index(45))
listB = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
# In chỉ số của 'Wed'
print("Index of Wed: ", listB.index('Wed')) Kết quả
Chạy mã trên cho kết quả sau:
('Index of 45: ', 1)
('Index of Wed: ', 3) Với range và len
Trong chương trình dưới, ta lặp qua mỗi phần tử của list và áp dụng hàm list trong vòng lặp for để lấy chỉ số.
Ví dụ
listA = [11, 45, 27, 8, 43]
# Danh sách cho trước
print("Danh sách cho trước: ", listA)
# In tất cả chỉ số và giá trị
print("Index and Values: ")
print([list((i, listA[i])) for i in range(len(listA))]) Kết quả
Chạy mã trên cho kết quả sau:
Danh sách cho trước: [11, 45, 27, 8, 43] Index and Values: [[0, 11], [1, 45], [2, 27], [3, 8], [4, 43]]
Với enumerate
Hàm enumerate bản thân theo dõi vị trí chỉ số cùng giá trị phần tử trong list. Vì vậy, khi áp dụng enumerate cho list, nó cho cả chỉ số và giá trị đầu ra.
Ví dụ
listA = [11, 45, 27, 8, 43]
# Danh sách cho trước
print("Danh sách cho trước: ", listA)
# In tất cả chỉ số và giá trị
print("Index and Values: ")
for index, value in enumerate(listA):
print(index, value) Kết quả
Chạy mã trên cho kết quả sau:
Danh sách cho trước: [11, 45, 27, 8, 43] Index and Values: 0 11 1 45 2 27 3 8 4 43