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

Python - เรียงแถวตามความถี่ของ K


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

ตัวอย่าง

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

from collections import Counter

my_list = [34, 56, 78, 99, 99, 99, 99, 99, 12, 12, 32, 51, 15, 11, 0, 0]

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

my_result = [item for items, c in Counter(my_list).most_common() for item in [items] * c]

print("The result is ")
print(my_result)

ผลลัพธ์

The list is
[34, 56, 78, 99, 99, 99, 99, 99, 12, 12, 32, 51, 15, 11, 0, 0]
The result is
[99, 99, 99, 99, 99, 0, 0, 12, 12, 32, 34, 11, 78, 15, 51, 56]

คำอธิบาย

  • แพ็คเกจที่จำเป็นจะถูกนำเข้าสู่สภาพแวดล้อม

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

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

  • นี้ถูกแปลงเป็นรายการ

  • สิ่งนี้ถูกกำหนดให้กับตัวแปร

  • ผลลัพธ์จะปรากฏบนคอนโซล