Langsung ke konten

Arsip

Iterator

3 artikel
Go 11 Sep 2026 7 min read

Urutkan Nilai Iterator Secara Stabil di Go dengan slices.SortedStableFunc

Sebuah iterator dapat menghasilkan nilai dalam urutan yang sudah memiliki arti: urutan kedatangan, urutan file, urutan database, atau urutan yang dibentuk oleh tahap pipeline sebelumnya. Jika Anda perlu mengurutkan nilai tersebut berdasarkan satu key tanpa mengacak kelompok dengan key yang sama, slices.SortedStableFunc menangani kedua langkah itu sekaligus. Fungsi ini mengonsumsi sebuah iter.Seq, mengumpulkan nilai yang dihasilkan ke slice baru, lalu mengurutkan slice tersebut dengan comparator. Ketika comparator mengembalikan nol, nilai-nilai itu mempertahankan urutan relatif yang sama seperti di sequence.

Go 10 Sep 2026 5 min read

Tambahkan Nilai Iterator ke Slice Go dengan slices.AppendSeq

Iterator praktis saat data mengalir melalui pipeline, tetapi pada akhirnya Anda mungkin perlu menyimpan nilai-nilai tersebut dalam sebuah slice. Jika sudah memiliki slice tujuan, mengumpulkan iterator secara terpisah lalu menambahkannya hanya menciptakan langkah perantara yang tidak perlu. Go 1.23 menambahkan slices.AppendSeq tepat untuk batas ini. Fungsi tersebut mengonsumsi sebuah iter.Seq, menambahkan setiap nilai yang dihasilkan ke slice yang sudah ada, lalu mengembalikan slice hasilnya. Apa yang dilakukan slices.AppendSeq Fungsi ini memiliki signature yang ringkas:

Python 08 Sep 2026 8 min read

Bandingkan Nilai Berdekatan Secara Lazy dengan itertools.pairwise

Banyak tugas pemrosesan data sebenarnya merupakan pertanyaan tentang transisi: Apakah sebuah pengukuran meningkat? Berapa lama jeda antara dua event? Apakah state berubah? Apakah sebuah sequence terurut? Masalah seperti ini membutuhkan nilai yang berdekatan, bukan pasangan arbitrer. Python 3.10 menambahkan itertools.pairwise() tepat untuk pola ini. Fungsi tersebut menghasilkan pasangan berdekatan yang saling overlap secara lazy, sehingga intent lebih jelas dibanding indexing manual dan kode yang sama dapat bekerja pada list, generator, file, serta iterable lainnya.