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

การย้ายศูนย์ทั้งหมดไปไว้ท้ายอาร์เรย์ด้วย List Comprehension ใน Python

เมื่อมีรายการตัวเลข เราสามารถย้ายค่า 0 ทั้งหมดไปไว้ท้ายรายการได้อย่างง่ายด้วย List Comprehension ในบรรทัดเดียว

ตัวอย่าง

numbers = [1, 3, 0, 4, 0, 5, 6, 0, 7]

# ย้าย 0 ไปท้าย
new_list = [num for num in numbers if num != 0] + [num for num in numbers if num == 0]

print(new_list)
# [1, 3, 4, 5, 6, 7, 0, 0, 0]

ผลลัพธ์

[1, 3, 4, 5, 6, 7, 0, 0, 0]

วิธีทำงาน

  1. สร้างรายการใหม่จากองค์ประกอบที่ไม่ใช่ 0
  2. ต่อด้วยรายการของ 0 ทั้งหมด
  3. ได้ลำดับที่ 0 อยู่ท้ายทั้งหมด

สรุป

เทคนิคนี้สะดวกและกระชับ เหมาะสำหรับการจัดเรียงข้อมูลเบื้องต้น