Khi cần xác định thứ hạng chỉ mục của các phần tử trong cấu trúc dữ liệu, ta định nghĩa phương thức nhận list làm tham số. Lặp qua các phần tử, thực hiện so sánh trước khi thay đổi giá trị hai biến.
Ví dụ
def find_rank_elem(my_list):
my_result = [0 for x in range(len(my_list))]
for elem in range(len(my_list)):
(r, s) = (1, 1)
for j in range(len(my_list)):
if j != elem and my_list[j] < my_list[elem]:
r += 1
if j != elem and my_list[j] == my_list[elem]:
s += 1
my_result[elem] = r + (s - 1) / 2
return my_result
my_list = [1, 3, 5, 3, 1, 26, 99, 45, 67, 12]
print("The list is:")
print(my_list)
print("The resultant list is:")
print(find_rank_elem(my_list))
Đầu ra
The list is: [1, 3, 5, 3, 1, 26, 99, 45, 67, 12] The resultant list is: [1, 3, 5, 3, 1, 7, 10, 8, 9, 6]
Giải thích
- Hàm
find_rank_elemnhận list. - Lặp list, lưu vào list biến.
- Lặp lại, kiểm tra phần tử khớp.
- Nếu khớp, thay đổi 'r' và 's'.
- Trả về list kết quả.