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

จัดเรียง tuple ตามการเกิดขึ้นขององค์ประกอบแรกใน Python


เมื่อจำเป็นต้องจัดเรียง tuple ตามการเกิดขึ้นขององค์ประกอบแรก สามารถใช้เมธอด dict.fromkeys ได้

สามารถใช้รายการเพื่อเก็บค่าที่แตกต่างกัน (เช่น ข้อมูลของประเภทข้อมูลใดๆ เช่น จำนวนเต็ม จุดลอยตัว สตริง และอื่นๆ)

รายการ tuple โดยทั่วไปประกอบด้วย tuple อยู่ในรายการ

เมธอด 'dict.fromkeys' จะส่งคืนพจนานุกรมพร้อมคีย์และค่าเฉพาะ

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

ตัวอย่าง

def sort_on_occurence(my_lst):
   my_dict = {}
   for i, j in my_lst:
      my_dict.setdefault(i, []).append(j)
   return([(i, *dict.fromkeys(j), len(j))
      for i, j in my_dict.items()])

my_list = [(1, 'Harold'), (12, 'Jane'), (4, 'Paul'), (7, 'Will')]
print("The list of tuples is")
print(my_list)
print("The list after sorting by occurence is")
print(sort_on_occurence(my_list))

ผลลัพธ์

The list of tuples is
[(1, 'Harold'), (12, 'Jane'), (4, 'Paul'), (7, 'Will')]
The list after sorting by occurence is
[(1, 'Harold', 1), (12, 'Jane', 1), (4, 'Paul', 1), (7, 'Will', 1)]

คำอธิบาย

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