Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - ดัชนีอันดับขององค์ประกอบ


เมื่อจำเป็นต้องกำหนดอันดับดัชนีขององค์ประกอบในโครงสร้างข้อมูล จะมีการกำหนดวิธีการที่ใช้รายการเป็นพารามิเตอร์ มันวนซ้ำองค์ประกอบในรายการ และทำการเปรียบเทียบบางอย่างก่อนที่จะเปลี่ยนค่าของตัวแปรสองตัว

ตัวอย่าง

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน

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' สองค่าจะเปลี่ยนไป

  • รายการนี้ส่งคืนเป็นเอาต์พุต

  • นอกเมธอด รายการถูกกำหนดและแสดงบนคอนโซล

  • เมธอดนี้เรียกโดยส่งรายการนี้เป็นพารามิเตอร์

  • เอาต์พุตจะแสดงบนคอนโซล