kullanımdan kaldırmak

. Sorun bildir Kaynağı göster Gece · 7,3 · 7,2 · 7,1 · 7,0 · 6,5

Verimli birleştirme işlemlerini destekleyen ve tanımlanmış bir geçiş sırası olan özel bir veri yapısı. Genellikle kurallar ve yönlerdeki geçişli bağımlılıklardan veri toplamak için kullanılır. Daha fazla bilgiyi burada bulabilirsiniz.

Depset öğelerinin, yerleşik type(x) işleviyle tanımlandığı şekilde aynı türde ve karma olması gerekir. Bununla birlikte, depset'ler yalnızca karma kümeleri değildir ve hızlı üyelik testlerini desteklemez. Genel bir veri türüne ihtiyacınız varsa tüm tuşların True ile eşlendiği sözlük kullanarak bir veri türü simüle edebilirsiniz.

Derinler sabittir. Bunlar, oluşturucu işlevleri kullanılarak oluşturulmalı ve transitive bağımsız değişkeni aracılığıyla diğer Deps'lerle birleştirilmeli veya arttırılmalıdır.

order parametresi, depset'i yinelenebilir bir öğeye dönüştürmek için yapılacak geçiş türünü belirler. Olası dört değer vardır:

  • "default" (eski adıyla "stable"): Sipariş belirtilmemiş (ancak belirleyici).
  • "postorder" (eski adıyla "compile"): Soldan sağa doğru sipariş sonrası. Bu oyun, daha önce sol tarafta kalan tüm çocukları, ardından en solda olan doğrudan öğeleri tekrar tekrar katlıyor.
  • "preorder" (eski adıyla "naive_link"): Soldan sağa ön sipariş. Bu, tam olarak önce doğrudan öğeleri, ardından en solda olan çocukları tekrarlı bir şekilde katıyor.
  • "topological" (eski adıyla "link"): Kökten yapraklara doğru topolojik sıralama. Soldan sağa doğru garanti yoktur.

İki erişim noktası yalnızca her iki noktanın sırası aynıysa veya iki noktanın sırası "default" olduğunda birleştirilebilir. İkinci durumda, sonuçta ortaya çıkan sıralamanın sırası diğerinin sırası ile aynı olur.

Depset'ler yinelenen değerler içerebilir ancak bu değerler yineleme sırasında engellenir (to_list() kullanılarak). Yinelemeler sıralama anlamını etkileyebilir.

Üyeler

to_list

list depset.to_list()

Öğelerin, öğenin geçiş sırasına göre, yinelenme olmadan listesini döndürür. Öğeye birden çok kez eklenen öğeler için sıranın belirtilmemiş (ancak belirleyici) olduğunu unutmayın. Ayrıca, "default" sıralı bölümler ve sırası üst kuruluştakinden farklı olan alt ayrıntılar öğeleri için de sıra belirtilmemiştir. Bu liste bir kopyadır; Değişiklik yapmanızın arayüz üzerinde herhangi bir etkisi yoktur. Tam tersi de geçerlidir.