Cách tìm chỉ mục cuối cùng của một phần tử trong danh sách python

Python hỗ trợ một số cách để truy cập phần tử cuối cùng của danh sách. Bài viết này sẽ thảo luận về các phương thức khác nhau để truy xuất phần tử cuối cùng của danh sách trong Python, bao gồm phương thức Reverse() tích hợp sẵn, kỹ thuật cắt lát, hàm Reverse(), lập chỉ mục phủ định, v.v.

Cách lấy phần tử cuối cùng trong danh sách Python

6 cách tiếp cận dễ dàng để lấy phần tử cuối cùng trong danh sách Python

  1. lập chỉ mục tiêu cực. Sử dụng lập chỉ mục phủ định để lấy phần tử cuối cùng của danh sách
  2. Danh sách. nhạc pop(). Nó trả về phần tử cuối cùng của danh sách
  3. đảo ngược() + tiếp theo(). Reverse() kết hợp với next() có thể được sử dụng để lấy phần tử cuối cùng
  4. trăn cắt lát. Sử dụng danh sách [-1. [0] cú pháp để lấy phần tử cuối cùng
  5. Sử dụng itemgetter. Sử dụng toán tử. itemgetter() để lấy phần tử cuối cùng
  6. sử dụng đảo chiều. Đảo ngược danh sách và in phần tử đầu tiên của danh sách

Phương pháp 1. Sử dụng lập chỉ mục tiêu cực

Để lấy phần tử cuối cùng của danh sách trong Python, hãy sử dụng cú pháp list[-1]. Cú pháp list[-n] lấy phần tử thứ n đến cuối cùng

Danh sách [-1] lấy phần tử cuối cùng và danh sách [-2] lấy phần tử thứ hai đến cuối cùng

Danh sách [-1] là cách thích hợp nhất, ngắn nhất và Pythonic để lấy phần tử cuối cùng

Để tạo danh sách trong Python, hãy sử dụng dấu ngoặc vuông ([ ]) và thêm các phần tử trong danh sách được phân tách bằng dấu phẩy

data = ["infy", "tcs", "affle", "dixon", "astral"]

Trong danh sách này, yếu tố “astral” là mục cuối cùng;

last_element = data[-1]

Những gì mã này sẽ làm là nó sẽ lấy phần tử cuối cùng và lưu trữ nó trong last_element, và chúng ta có thể in phần tử đó bằng hàm print()

data = ["infy", "tcs", "affle", "dixon", "astral"] 

last_element = data[-1]
print(last_element)

đầu ra

astral

IndexError trong Danh sách Python

Nếu mục dự kiến ​​không tồn tại, nó sẽ ném IndexError. Điều này có nghĩa là list[-1] sẽ đưa ra một ngoại lệ nếu danh sách trống vì danh sách trống không thể có phần tử cuối cùng

data = [] 

last_element = data[-1]
print(last_element)

đầu ra

Traceback (most recent call last):
  File "/Users/krunal/Desktop/code/pyt/database/app.py", line 3, in 
    last_element = data[-1]
IndexError: list index out of range

Như bạn có thể thấy rằng chúng tôi có. Chỉ mụcLỗi. danh sách chỉ số vượt khỏi phạm vi

Phương pháp 2. Sử dụng một danh sách. Phương thức pop()

Danh sách. pop() là một phương thức Python tích hợp để loại bỏ và trả về đối tượng tại chỉ mục đã cho (được truyền dưới dạng đối số) khỏi danh sách

data = ["infy", "tcs", "affle", "dixon", "astral"] 

last_element = data.pop()
print(last_element)

đầu ra

astral

Phương pháp 3. Sử dụng đảo ngược() + tiếp theo()

Hàm Reverse() kết hợp với hàm next() có thể được sử dụng để lấy phần tử cuối cùng vì phương thức Reverse() trả về thứ tự đảo ngược của danh sách dưới dạng một trình vòng lặp và phương thức next() in phần tử tiếp theo, trong trường hợp này

________số 8_______

đầu ra

The main list is : [11, 21, 46, 19]
The last element is : 19

Phương pháp 4. sử dụng cắt lát

Sử dụng Python slice để lấy mục cuối cùng trong danh sách

last_element = data[-1]
0

đầu ra

last_element = data[-1]
1

Phương pháp 5. Sử dụng itemgetter

Itemgetter() là hàm của mô-đun toán tử chấp nhận danh sách và chỉ mục ban đầu, đồng thời trả về phần tử của danh sách dựa trên chỉ mục

last_element = data[-1]
2

đầu ra

last_element = data[-1]
1

Phương pháp 6. Sử dụng phương thức đảo ngược()

Sử dụng phương thức reverse() để đảo ngược danh sách và in phần tử đầu tiên

last_element = data[-1]
4

đầu ra

last_element = data[-1]
1

Phần kết luận

Cách tốt nhất và hiệu quả nhất để lấy phần tử cuối cùng của danh sách trong Python là sử dụng lập chỉ mục phủ định

Phương thức index() trả về chỉ mục của phần tử được chỉ định trong danh sách

Ví dụ

animals = ['cat', 'dog', 'rabbit', 'horse']

# get the index of 'dog' index = animals.index('dog')

print(index) # Output: 1


Cú pháp của List index()

Cú pháp của phương thức danh sách index()

list.index(element, start, end)

liệt kê tham số index()

Phương thức danh sách index() có thể nhận tối đa ba đối số

  • phần tử - phần tử được tìm kiếm
  • bắt đầu (tùy chọn) - bắt đầu tìm kiếm từ chỉ mục này
  • kết thúc (tùy chọn) - tìm kiếm phần tử cho đến chỉ mục này

Giá trị trả về từ chỉ mục Danh sách()

  • Phương thức index() trả về chỉ mục của phần tử đã cho trong danh sách
  • Nếu phần tử không được tìm thấy, một ngoại lệ
    list.index(element, start, end)
    2 được đưa ra

Ghi chú. Phương thức index() chỉ trả về lần xuất hiện đầu tiên của phần tử phù hợp


ví dụ 1. Tìm chỉ số của phần tử

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

# index of 'e' in vowels

index = vowels.index('e')

print('The index of e:', index) # element 'i' is searched # index of the first 'i' is returned

index = vowels.index('i')

print('The index of i:', index)

đầu ra

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

ví dụ 2. Chỉ mục của phần tử không có trong danh sách

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

# index of 'p' is vowels

index = vowels.index('p')

print('The index of p:', index)

đầu ra

ValueError: 'p' is not in list

ví dụ 3. Hoạt động của chỉ mục () Với các tham số bắt đầu và kết thúc

# alphabets list
alphabets = ['a', 'e', 'i', 'o', 'g', 'l', 'i', 'u']

# index of 'i' in alphabets

index = alphabets.index('e') # 1

print('The index of e:', index) # 'i' after the 4th index is searched

index = alphabets.index('i', 4) # 6

print('The index of i:', index) # 'i' between 3rd and 5th index is searched

index = alphabets.index('i', 3, 5) # Error!

print('The index of i:', index)

đầu ra

The index of e: 1
The index of i: 6
Traceback (most recent call last):
  File "*lt;string>", line 13, in 
ValueError: 'i' is not in list