เมื่อจำเป็นต้องกำหนดอันดับดัชนีขององค์ประกอบในโครงสร้างข้อมูล จะมีการกำหนดวิธีการที่ใช้รายการเป็นพารามิเตอร์ มันวนซ้ำองค์ประกอบในรายการ และทำการเปรียบเทียบบางอย่างก่อนที่จะเปลี่ยนค่าของตัวแปรสองตัว
ตัวอย่าง
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน
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))
ผลลัพธ์
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]
คำอธิบาย
-
มีการกำหนดเมธอดชื่อ 'find_rank_elem' ซึ่งรับรายการเป็นพารามิเตอร์
-
รายการจะถูกวนซ้ำและเก็บไว้ในตัวแปรรายการ
-
มีการวนซ้ำอีกครั้ง และตรวจสอบเพื่อดูว่าองค์ประกอบบางอย่างของรายการตรงกันหรือไม่
-
หากเป็นเช่นนั้น ค่า 'r' และ 's' สองค่าจะเปลี่ยนไป
-
รายการนี้ส่งคืนเป็นเอาต์พุต
-
นอกเมธอด รายการถูกกำหนดและแสดงบนคอนโซล
-
เมธอดนี้เรียกโดยส่งรายการนี้เป็นพารามิเตอร์
-
เอาต์พุตจะแสดงบนคอนโซล