Hàm List index() trong Python

Nói một cách đơn giản, phương thức index () tìm phần tử đã cho trong danh sách và trả về vị trí của nó.

Tuy nhiên, nếu cùng một phần tử xuất hiện nhiều lần, phương thức index () trả về vị trí nhỏ nhất / đầu tiên của nó.

Lưu ý: Chỉ mục trong Python bắt đầu từ 0 chứ không phải 1.

1. Cú pháp List index()

Cú pháp của hàm index() trong List là:

list.index(element)

Trong đó:

  • element là giá trị muốn tìm trong list

Giá trị trả về: Hàm index() sẽ trả về vị trí index của phần tử cần tìm, nếu không tìm thấy thì nó sẽ trả về lỗi ValueError exception.

2. Ví dụ List index()

Dưới đây là ví dụ cách sử dụng list index() để tìm phần tử trong List.

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# element 'e' is searched
index = vowels.index('e')

# index of 'e' is printed
print('The index of e:', index)

# element 'i' is searched
index = vowels.index('i')

# only the first index of the element is printed
print('The index of i:', index)

Chạy lên kết quả sẽ như sau:

The index of e: 1
The index of i: 2

Bây giờ hãy thử với một ví dụ giá trị cần tìm không tìm thấy.

# vowels list
vowels = ['a', 'e', 'i', 'o', 'u']

# element 'p' is searched
index = vowels.index('p')

# index is printed
print('The index of p:', index)

Kết quả sẽ trả về lỗi sau:

Traceback (most recent call last):
  File "<stdin>", line 5, in <module>
    index = vowels.index('p')
ValueError: 'p' is not in list

Ngoài việc tìm kiếm dữ liệu đơn giản thì index() cũng hỗ trợ với các kiểu dữ liệu phức tạp như Tuple, Set. Xem ví dụ sau:

# random list
random = ['a', ('a', 'b'), [3, 4]]

# element ('a', 'b') is searched
index = random.index(('a', 'b'))

# index is printed
print("The index of ('a', 'b'):", index)

# element [3, 4] is searched
index = random.index([3, 4])

# index is printed
print("The index of [3, 4]:", index)

Chạy lên kết quả sẽ như sau:

The index of ('a', 'b'): 1
The index of [3, 4]: 2

Như vậy là bạn đã học được cách sử dụng list index() trong Python, hẹn gặp lại các bạn ở hàm khác.

Nguồn: freetuts.net