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

Python - กรองแถวที่ไม่เปลี่ยนรูปแทนคีย์พจนานุกรมจาก Matrix


เมื่อจำเป็นต้องกรองแถวที่ไม่เปลี่ยนรูปซึ่งแทนคีย์พจนานุกรมจากเมทริกซ์ สามารถใช้รายการความเข้าใจและวิธีการ 'isinstance' ได้

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

ตัวอย่าง

my_list = [[24, 15, [32, 33, 12]], ["pyt", 8, (14, 54)], [{15:24}, 13, "fun"], [True, "cool"]]

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

my_result = [row for row in my_list if all(isinstance(element, int) or isinstance(element, bool) or isinstance(element, float) or isinstance(element, tuple) or isinstance(element, str) for element in row)]

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

ผลลัพธ์

The list is :
[[24, 15, [32, 33, 12]], ['pyt', 8, (14, 54)], [{15: 24}, 13, 'fun'], [True, 'cool']]
The result is :
[['pyt', 8, (14, 54)], [True, 'cool']]

คำอธิบาย

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

  • ความเข้าใจรายการใช้เพื่อวนซ้ำองค์ประกอบ และวิธีการ 'isinstance' ใช้เพื่อตรวจสอบว่าองค์ประกอบนั้นเป็นของประเภทข้อมูลเฉพาะหรือไม่

  • ถ้าใช่ จะถูกเก็บไว้ในรายการและถูกกำหนดให้กับตัวแปร

  • ซึ่งจะแสดงเป็นเอาต์พุตบนคอนโซล