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