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

Python – เรียงแถวตาม K ทวีคูณ


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

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

ตัวอย่าง

def multiple_sort_val(row):
   return len([ele for ele in row if ele % K == 0])

my_list = [[11, 44, 7, 11], [7, 5, 44, 11], [11, 6, 35, 44], [92, 92, 5]]

print("The list is :")
print(my_list)

K = 11
print("The value for K is ")
print(K)

my_list.sort(key=multiple_sort_val)

print("The resultant list is :")
print(my_list)

ผลลัพธ์

The list is :
[[11, 44, 7, 11], [7, 5, 44, 11], [11, 6, 35, 44], [92, 92, 5]]
The value for K is
11
The resultant list is :
[[92, 92, 5], [7, 5, 44, 11], [11, 6, 35, 44], [11, 44, 7, 11]]

คำอธิบาย

  • มีการกำหนดวิธีการที่ใช้รายการเป็นพารามิเตอร์

  • มันใช้ความเข้าใจรายการและวิธีการ 'len' เพื่อตรวจสอบว่าทุกรายการหารด้วยค่าเฉพาะของ K ส่งผลให้เป็น 0 เป็นส่วนที่เหลือหรือไม่

  • ขนาดของรายการนี้จะถูกส่งคืนเป็นเอาต์พุต

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

  • ค่า K ถูกกำหนดและแสดงบนคอนโซล

  • รายการถูกจัดเรียงโดยใช้วิธีการ 'sort' โดยการระบุคีย์เป็นวิธีการที่กำหนดไว้ก่อนหน้านี้

  • นี่คือเอาต์พุตที่แสดงบนคอนโซล