Struktur data khusus yang mendukung operasi penggabungan yang efisien dan memiliki urutan traversal yang ditentukan. Biasanya digunakan untuk mengakumulasikan data dari dependensi transitif dalam aturan dan aspek. Untuk informasi selengkapnya, lihat di sini.
Elemen depset harus dapat di-hash dan semuanya memiliki jenis yang sama (seperti yang ditentukan oleh fungsi type(x) bawaan), tetapi depset bukan hanya kumpulan hash dan tidak mendukung pengujian keanggotaan yang cepat. Jika Anda memerlukan jenis data set umum, Anda dapat menyimulasikannya menggunakan kamus tempat semua kunci dipetakan ke True.
Depset tidak dapat diubah. Depset harus dibuat menggunakan fungsi konstruktornya dan digabungkan atau ditambah dengan depset lain melalui argumen transitive.
Parameter order menentukan jenis traversal yang dilakukan untuk mengonversi depset menjadi iterable. Ada empat kemungkinan nilai:
"default"(sebelumnya"stable"): Urutan tidak ditentukan (tetapi deterministik)."postorder"(sebelumnya"compile"): Pengurutan pasca-order dari kiri ke kanan. Secara tepat, hal ini secara rekursif melintasi semua turunan paling kiri terlebih dahulu, lalu elemen langsung paling kiri terlebih dahulu."preorder"(sebelumnya"naive_link"): Pengurutan pra-order dari kiri ke kanan. Secara tepat, hal ini melintasi elemen langsung paling kiri terlebih dahulu, lalu secara rekursif melintasi turunan paling kiri terlebih dahulu."topological"(sebelumnya"link"): Pengurutan topologi dari root ke bawah hingga daun. Tidak ada jaminan kiri ke kanan.
Dua depset hanya dapat digabungkan jika kedua depset memiliki urutan yang sama, atau salah satunya memiliki urutan "default". Dalam kasus terakhir, urutan depset yang dihasilkan akan sama dengan urutan depset lainnya.
Depset dapat berisi nilai duplikat, tetapi nilai ini akan dihilangkan saat melakukan iterasi (menggunakan to_list()). Duplikat dapat mengganggu semantik pengurutan.
Anggota
to_list
list depset.to_list()
"default", dan untuk elemen depset turunan yang urutannya berbeda dengan depset induk. Daftar ini adalah salinan; mengubahnya tidak akan memengaruhi depset dan sebaliknya.