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

Nhận chỉ số đối sánh bằng Python

Hai danh sách được đưa ra. Chúng ta cần tìm chỉ mục của các phần tử từ danh sách đầu tiên có giá trị khớp với các phần tử trong danh sách thứ hai.

Có chỉ mục

Chúng tôi chỉ cần thiết kế theo dõi để lấy giá trị của phần tử trong danh sách thứ hai và trích xuất chỉ mục tương ứng từ danh sách đầu tiên.

Ví dụ

listA = ['Mon','Tue', 'Wed', 'Thu', 'Fri']
listB = ['Tue', 'Fri']
# Given lists
print("The given list:\n ",listA)
print("The list of values:\n ",listB)
# using indices
res = [listA.index(i) for i in listB]
# Result
print("The Match indices list is : ",res)

Đầu ra

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

The given list:
['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
The list of values:
['Tue', 'Fri']
The Match indices list is : [1, 4]

Với liệt kê và đặt

Chúng tôi sẽ thiết kế một vòng lặp for sẽ sử dụng liệt kê để trích xuất tất cả các phần tử và sau đó khớp chúng với các cặp giá trị khóa. Cuối cùng, nó sẽ trích xuất các chỉ số phù hợp.

Ví dụ

listA = ['Mon','Tue', 'Wed', 'Thu', 'Fri']
listB = ['Tue', 'Fri']
# Given lists
print("The given list:\n ",listA)
print("The list of values:\n ",listB)
# using enumerate
res = [key for key, val in enumerate(listA)
if val in set(listB)]
# Result
print("The Match indices list is : ",res)

Đầu ra

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

The given list:
['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
The list of values:
['Tue', 'Fri']
The Match indices list is : [1, 4]