เมื่อต้องการลบแถว (สับลิสต์) ที่มีสมาชิกซ้ำกันในเมทริกซ์ สามารถใช้ list comprehension และ set() ได้
ตัวอย่าง
my_list = [[34, 23, 34], [17, 46, 47], [22, 14, 22], [28, 91, 19]]
print("The list is :")
print(my_list)
my_result = [element for element in my_list if len(set(element)) == len(element)]
print("The result is :")
print(my_result)
ผลลัพธ์
The list is : [[34, 23, 34], [17, 46, 47], [22, 14, 22], [28, 91, 19]] The result is : [[17, 46, 47], [28, 91, 19]]
คำอธิบาย
กำหนดเมทริกซ์ (ลิสต์ของลิสต์) และแสดงผล
ใช้ list comprehension ตรวจสอบแต่ละแถว: แปลงเป็น
set()เพื่อเอาค่าที่ไม่ซ้ำ ถ้าความยาวเท่ากับแถวเดิม แสดงว่าไม่มีค่าซ้ำเก็บเฉพาะแถวที่ไม่มีค่าซ้ำ แสดงผลลัพธ์