kullanımdan kaldırmak

Sorun bildir Kaynağı görüntüleyin Nightly · 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 bunu taklit 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 iteratif bir öğeye 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. 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ş. 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 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, sonuçta ortaya çıkan sıralamanın sırası diğerinin sırası ile aynı olur.

Depset'ler yinelenen değerler içerebilir ancak bunlar 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()

Öğe listesini, öğenin geçiş sırasına göre, yineler olmadan döndürür. Sıranın, depset'e birden fazla kez eklenen öğeler için belirtilmediğini (ancak belirlenmiş olduğunu) 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.