อันนี้เหมือนจะใช้บ่อย ขอเอามาแปะไว้สักหน่อย บางทีข้อมูลที่เราดึงมามีข้อมูลเกินความจำเป็น แล้วเราอยากจะ filter ออกครับ
โอเค สมมุติว่าเรามี Python dict ประมาณนี้
data = {
"name": "Kan",
"surname": "Ouivirach",
"position": "Someone",
}
แล้วเราอยากจะได้ key เฉพาะ name กับ position เราสามารถใช้ dictionary comprehension ได้
keys = ["name", "position"]
x = {k: data[k] for k in data if k in keys}
ผลที่ได้ก็ตามนี้
{"name": "Kan", "position": "Someone"}
แล้วถ้าเราอยากจะ filter พวก key ที่เราไม่ต้องการล่ะ? เราก็แก้โค้ดด้านบน เติม not
เข้าไปใน if แบบนี้เลย
keys = ["name", "position"]
x = {k: data[k] for k in data if k not in keys}
ผลคือ
{"surname": "Ouivirach"}