Tag: iterators
6 รายการ
Blog
Rust Iterator::scan: พก state ไปทีละรายการโดยไม่หลุดจาก pipeline
ใช้ scan สร้าง running state ใน iterator พร้อมอธิบายจังหวะหยุด, ownership และกรณีที่ loop ชัดกว่า
Python itertools.tee: แยก iterator ได้ แต่ต้องรู้ว่า buffer โตตรงไหน
อธิบาย shared source, backlog เมื่อ consumer วิ่งไม่เท่ากัน และวิธีเลือก list หรือ tee ให้ตรงงาน
Go slices.Backward: วนจากท้ายโดยไม่กลับลำดับข้อมูลต้นฉบับ
ใช้ iterator ย้อนลำดับใน Go เมื่ออยากอ่านจากท้ายไปหน้า โดยไม่ mutate slice และไม่เขียน index loop เอง
Go maps.Insert: เติม map จาก iterator โดยไม่ต้องเขียน loop ซ้ำ
รู้จัก maps.Insert และ iter.Seq2 สำหรับประกอบข้อมูลแบบ pull-free พร้อมขอบเขตเรื่องค่าซ้ำและลำดับ
Python itertools.compress: ให้ boolean mask กับข้อมูลเดินพร้อมกันแบบ lazy
คัดสมาชิกด้วย itertools.compress พร้อมรับมือ selector สั้นยาวไม่เท่ากัน และแยกกรณีที่ควร validate ก่อน
Python itertools.groupby: รวมข้อมูลที่ติดกัน ไม่ใช่ SQL GROUP BY
เข้าใจ adjacent runs, shared iterator และเหตุผลที่ต้อง sort ก่อนเมื่ออยากรวม key ทั้งชุด พร้อม unittest กันบั๊กข้อมูลสลับกลุ่ม