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.