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

Python – ลบแถวที่มีสมาชิกซ้ำในเมทริกซ์

เมื่อต้องการลบแถว (สับลิสต์) ที่มีสมาชิกซ้ำกันในเมทริกซ์ สามารถใช้ 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() เพื่อเอาค่าที่ไม่ซ้ำ ถ้าความยาวเท่ากับแถวเดิม แสดงว่าไม่มีค่าซ้ำ

  • เก็บเฉพาะแถวที่ไม่มีค่าซ้ำ แสดงผลลัพธ์