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

ค้นหาระเบียน k ขั้นต่ำจากรายการทูเพิลใน Python


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

วิธีการ 'sorted' ใช้เพื่อจัดเรียงองค์ประกอบของรายการ ฟังก์ชันนิรนามเป็นฟังก์ชันที่กำหนดโดยไม่มีชื่อ

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

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

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

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

ตัวอย่าง

my_list = [( 67, 'Will'), (34, 'Mark'), (99, 'Dev'), (2, 'Paul')]

print ("The list is : " )
print(my_list)
K = 3
print("The value of 'K' has been initialized")

my_result = sorted(my_list, key = lambda x: x[1])[:K]

print("The lowest " + str(K) + " records are : ")
print(my_result)

ผลลัพธ์

The list is :
[(67, 'Will'), (34, 'Mark'), (99, 'Dev'), (2, 'Paul')]
The value of 'K' has been initialized
The lowest 3 records are :
[(99, 'Dev'), (34, 'Mark'), (2, 'Paul')]

คำอธิบาย

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