Python 3.14: map(..., strict=True) — จับความยาว iterable ไม่เท่ากันแบบ zip
น้องกายEngineering
zip(..., strict=True) มีมานาน — ตอนนี้ map ใน Python 3.14 ได้ธง strict แบบเดียวกันครับ (What’s new)
ถ้าความยาว iterable ไม่เท่ากันและตั้ง strict=True จะยก ValueError แทนการตัดเงียบ
ตัวอย่างด้านล่างเป็นโค้ดตัวอย่างแบบ fragment / pseudocode ตามเอกสาร 3.14 — ยังไม่รันบนอินเทอร์พรีเตอร์ในบทความนี้:
# ต้องการ Python ≥ 3.14
assert list(map(lambda a, b: a + b, [1, 2], [10, 20], strict=True)) == [11, 22]
# list(map(lambda a, b: a + b, [1, 2, 3], [10, 20], strict=True)) → ValueError
เหมาะกับ pipeline ที่ “ขาดค่าหนึ่งตัว = บั๊ก” ไม่ใช่ฟีเจอร์
Recap
- เปิด
strict=Trueในจุดที่ข้อมูลต้องครบคู่ (เมื่อรัน 3.14+) - เทสต์เคสความยาวไม่เท่ากันให้ชัด