Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python – Kiểm tra chỉ số phần tử có bằng giá trị phần tử trong danh sách

Kiểm tra xem chỉ số (index) của phần tử trong danh sách có bằng giá trị của phần tử đó không. Sử dụng enumerate() và vòng lặp.

Mã nguồn

my_list_1 = [12, 62, 19, 79, 58, 0, 99]
my_list_2 = [12, 74, 19, 54, 58, 0, 11]

print("Danh sách 1:", my_list_1)
print("Danh sách 2:", my_list_2)

my_list_1.sort()
my_list_2.sort()

print("Danh sách 1 sau sắp xếp:", my_list_1)
print("Danh sách 2 sau sắp xếp:", my_list_2)

check_list = [9, 8, 2]
print("Danh sách kiểm tra:", check_list)

my_result = True
for index, element in enumerate(my_list_1):
    if my_list_1[index] != my_list_2[index] and element in check_list:
        my_result = False
        break

print("Kết quả:", "Các chỉ số bằng giá trị phần tử" if my_result else "Các chỉ số KHÔNG bằng giá trị phần tử")

Kết quả

Danh sách 1: [12, 62, 19, 79, 58, 0, 99]
Danh sách 2: [12, 74, 19, 54, 58, 0, 11]
Danh sách 1 sau sắp xếp: [0, 12, 19, 58, 62, 79, 99]
Danh sách 2 sau sắp xếp: [0, 11, 12, 19, 54, 58, 74]
Danh sách kiểm tra: [9, 8, 2]
Kết quả: Các chỉ số bằng giá trị phần tử

Giải thích

  • Hai danh sách được sắp xếp trước khi so sánh.
  • enumerate(my_list_1) cho cặp (index, element).
  • Kiểm tra: nếu phần tử tại cùng chỉ số của hai list khác nhau VÀ phần tử của list_1 nằm trong check_list → gán False.
  • Trong ví dụ, không có trường hợp nào thỏa mãn cả hai điều kiện → kết quả True.

Logic hơi phức tạp; thường dùng để kiểm tra tính nhất quán giữa hai danh sách sau sắp xếp.