kullanımdan kaldırmak

Sorun bildir Kaynağı göster Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Verimli birleştirme işlemlerini destekleyen ve tanımlanmış bir tarama sırasına sahip özel bir veri yapısı. Genellikle kurallar ve görünümlerdeki geçişli bağımlılıklardan veri toplamak için kullanılır. Daha fazla bilgi için burayı ziyaret edin.

Bir depset'in öğeleri karma oluşturmaya uygun olmalı ve tümü aynı türde olmalıdır (yerleşik type(x) işlevi tarafından tanımlandığı gibi). Ancak depset'ler yalnızca karma küme değildir ve hızlı üyelik testlerini desteklemez. Genel bir küme veri türüne ihtiyacınız varsa tüm anahtarların True ile eşlendiği bir sözlük kullanarak bu türden bir veri türünü simüle edebilirsiniz.

Depsetler değiştirilemez. Bunlar, yapıcı işlevleri kullanılarak oluşturulmalı ve transitive bağımsız değişkeni aracılığıyla diğer depsetlerle birleştirilmeli veya genişletilmelidir.

order parametresi, depset'i iteratöre dönüştürmek için yapılan tarama türünü belirler. Dört olası değer vardır:

  • "default" (eski adıyla "stable"): Sıralama belirtilmemiş (ancak deterministiktir).
  • "postorder" (eski adıyla "compile"): Soldan sağa doğru bir son sipariş verme. Daha doğrusu, bu işlev tüm alt öğeleri soldan sağa doğru, ardından doğrudan öğeleri soldan sağa doğru yinelemeli olarak tarar.
  • "preorder" (eski adıyla "naive_link"): Soldan sağa ön sipariş. Daha açık belirtmek gerekirse, bu yöntem doğrudan öğeleri en soldaki öğeden başlayarak, ardından alt öğeleri de en soldaki öğeden başlayarak yinelemeli olarak tarar.
  • "topological" (eski adıyla "link"): Kökten yapraklara doğru topolojik bir sıralama. Soldan sağa doğru sıralama garantisi yoktur.

İki depo grubu yalnızca her iki depo grubunun da aynı sıraya sahip olması veya bunlardan birinin "default" sırasına sahip olması durumunda birleştirilebilir. İkinci durumda, oluşturulan depset'in sırası diğer depset'in sırasıyla aynı olur.

Depset'ler yinelenen değerler içerebilir ancak yinelenen değerler iterasyon sırasında (to_list() kullanılarak) atlanır. Yinelenen değerler sıralama anlamlarını etkileyebilir.

Üyeler

to_list

list depset.to_list()

Depo grubunun tarama sırasına göre öğelerin kopyasız bir listesini döndürür. Sıranın, depset'e birden fazla kez eklenen öğeler için belirtilmediğini (ancak belirlendiğini) unutmayın. Sıralama, "default" sıralı depo kümeleri ve sırası üst depo kümesinden farklı olan alt depo kümelerinin öğeleri için de belirtilmez. Liste bir kopyadır; listede yapılan değişiklikler depoyu etkilemez ve depodaki değişiklikler de listeyi etkilemez.