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

โปรแกรม Python ลบแถว (sublist) ที่มีความยาวเท่ากับ K

แนวคิด

กำหนดลิสต์ของลิสต์ (list of lists) และค่า K ให้ลบ sublist ที่มีความยาวเท่ากับ K ออก โดยเก็บเฉพาะ sublist ที่มีความยาวไม่เท่ากับ K

ตัวอย่างโค้ด

my_list = [[41, 7], [8, 10, 12, 8], [10, 11], [6, 82, 10]]
print("ลิสต์ต้นฉบับ:", my_list)

my_k = 2
print("ค่า K:", my_k)

my_result = []
for row in my_list:
    if len(row) != my_k:
        my_result.append(row)

print("ผลลัพธ์ (ลบแถวที่ยาว 2):", my_result)

ผลลัพธ์

ลิสต์ต้นฉบับ: [[41, 7], [8, 10, 12, 8], [10, 11], [6, 82, 10]]
ค่า K: 2
ผลลัพธ์ (ลบแถวที่ยาว 2): [[8, 10, 12, 8], [6, 82, 10]]

วิธี List Comprehension (กระชับกว่า)

my_result = [row for row in my_list if len(row) != my_k]

การประยุกต์

  • กรองแถวใน matrix ตามความยาว
  • ลบข้อมูลที่ไม่สมบูรณ์ (incomplete rows)
  • ปรับเปลี่ยนได้ง่ายสำหรับเงื่อนไขอื่น เช่น len(row) > K, len(row) < K