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

งูหลาม | จัดเรียงค่าของรายการแรกโดยใช้รายการที่สอง


เมื่อต้องการเรียงลำดับค่าของรายการแรกโดยใช้รายการที่สอง จะใช้วิธี 'sorted' และวิธีการ 'zip'

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

วิธี 'sorted' ใช้เพื่อจัดเรียงองค์ประกอบของรายการ

วิธีการ zip นำ iterables มารวมเข้าด้วยกันเป็น tuple และส่งกลับเป็นผลลัพธ์

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

ตัวอย่าง

def list_sort(my_list_1, my_list_2):
   zipped_list_pairs = zip(my_list_2, my_list_1)
   my_result = [x for _, x in sorted(zipped_list_pairs)]
   return my_result
my_list_1 = ['m', 'o', 'p', 'l', 'k', 'v', 'c', 'e', 'r']
my_list_2 = [ 1, 0,0, 2, 2, 1, 1, 0,0]
print("The first list is :")
print(my_list_1)
print("The second list is :")
print(my_list_2)
print("The first list is being sorted based on second list")
print(list_sort(my_list_1, my_list_2))
my_list_3 = ['h', 'k', 'l', 'p', 'q', 'p', 'k', 'l', 'h', 'm', 'u', 'z', 'f', 't']
my_list_4 = [ 0,1,1,1,0,2,2,2,0,2,1,2,1,0]
print("The third list is :")
print(my_list_3)
print("The fourth list is :")
print(my_list_4)
print("The third list is being sorted based on fourth list")
print(list_sort(my_list_3, my_list_4))

ผลลัพธ์

The first list is :
['m', 'o', 'p', 'l', 'k', 'v', 'c', 'e', 'r']
The second list is :
[1, 0, 0, 2, 2, 1, 1, 0, 0]
The first list is being sorted based on second list
['e', 'o', 'p', 'r', 'c', 'm', 'v', 'k', 'l']
The third list is :
['h', 'k', 'l', 'p', 'q', 'p', 'k', 'l', 'h', 'm', 'u', 'z', 'f', 't']
The fourth list is :
[0, 1, 1, 1, 0, 2, 2, 2, 0, 2, 1, 2, 1, 0]
The third list is being sorted based on fourth list
['h', 'h', 'q', 't', 'f', 'k', 'l', 'p', 'u', 'k', 'l', 'm', 'p', 'z']

คำอธิบาย

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