Computer >> Máy Tính >  >> Lập trình >> Python

Nhận phần tử cuối cùng của mỗi danh sách con bằng Python

Một danh sách trong python cũng có thể chứa danh sách bên trong nó dưới dạng các phần tử. Các danh sách lồng nhau này được gọi là danh sách con. Trong bài viết này, chúng tôi sẽ giải quyết vấn đề chỉ truy xuất phần tử cuối cùng của mỗi danh sách con trong một danh sách nhất định.

Sử dụng vòng lặp for

Đó là một cách tiếp cận rất đơn giản, trong đó chúng tôi lặp qua các danh sách con tìm nạp mục ở chỉ mục -1 trong chúng. Vòng lặp for được sử dụng cho mục đích này như được hiển thị bên dưới.

Ví dụ

Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]]
print("Given List:\n",Alist)
print("Lastst Items from sublists:\n")
for item in Alist:
   print((item[-1]))

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given List:
[['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]]
First Items from sublists:
1
Fri
7

Sử dụng zip và *

Dấu * cho phép chúng tôi giải nén các danh sách con và cấp quyền truy cập vào các phần tử riêng lẻ của danh sách con. Vì vậy, trong trường hợp này chúng ta sẽ sử dụng * và danh sách đảo ngược để truy cập phần tử ở chỉ mục 0 từ mỗi phần tử. Sau đó, cuối cùng chúng tôi nén kết quả để có được danh sách phần tử đầu tiên từ danh sách con.

Ví dụ

Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]]
print("Given List:\n",Alist)
print("\n First Items from sublists:\n")
print(list(list(zip(*map(reversed,Alist)))[0]))

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given List:
[['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]]
First Items from sublists:
[1, 'Fri', 7]

Sử dụng itemgetter

Itemgetter (i) xây dựng một có thể gọi lấy một đối tượng có thể lặp lại như từ điển, danh sách, tuple, v.v. làm đầu vào và tìm nạp phần tử thứ i từ nó. Vì vậy, chúng ta có thể sử dụng phương pháp này để lấy các mục đầu tiên của danh sách bằng cách sử dụng hàm bản đồ như sau.

Ví dụ

from operator import itemgetter

Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]]
print("Given List:\n",Alist)
print("\n First Items from sublists:\n")
print(list(map(itemgetter(-1), Alist)))

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given List:
[['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]]
First Items from sublists:
[1, 'Fri', 7]