# List Operations

Bu fonksiyon bloğu, sıkça kullanılan liste işlemlerinin bir araya getirildiği, kullanımı kolay bir arayüz sağlar. Açılır menüden bir işlem seçin; blok, seçilen işleme göre giriş ve çıkış soketlerini otomatik olarak düzenleyerek kod yazmadan listelerle (oluşturma, sorgulama, değiştirme, birleştirme, filtreleme ve daha fazlası) çalışmanıza olanak tanır.

## 📥 Girdiler <a href="#inputs" id="inputs"></a>

Mevcut girişler, seçilen işleme göre dinamik olarak değişir.

`List` Birçok işlem tarafından kullanılan genel liste girişi.

`Element` Ekleme, kaldırma veya arama için tek bir öğe.

`Index` `Get`, `Set`, `Insert` veya `Pop` gibi işlemler için tam sayı indeksi.

`List(s)` Birden fazla listeyi birleştirirken (`Pair`) bir liste listesi kabul eden soket.

`List (String)` `Create` yöntemiyle virgülle ayrılmış bir metinden liste oluşturmak için kullanılan tek metin girişi.

(Diğer giriş soketi adları, seçilen metoda göre gerektiğinde görünür.)

## 📤 Çıktılar <a href="#outputs" id="outputs"></a>

Çıktılar da dinamik olup seçilen yöntemi yansıtır.

`List` Mutasyon işlemlerinden sonra dönen liste (ör. append, extend, remove).

`Filtered List` Filtreleme işleminin sonucu.

`Element` `Get`, `Min`, `Max` vb. tarafından döndürülen tek öğe.

`Size` `Len` yöntemi tarafından döndürülen uzunluk.

`Index` `Index` yöntemi için öğenin indeksi.

(Ek çıkış soketleri seçilen metoda bağlı olarak görünür.)

## 🕹️ Kontroller <a href="#controls" id="controls"></a>

`Select a method` Küçük bir işlem düğmesi bulunan açılır menü. İstediğiniz liste işlemini seçin (örnekler: append, extend, filter, create, len, min, max, slice, pair). Blok, bu seçimi değiştirdiğinizde soketleri otomatik olarak günceller.

`Info` Seçilen yöntem için kullanım ipuçlarını gösteren küçük bir metin alanı (örneğin, filtre koşullarının aynı uzunlukta boolean bir liste olması gerektiğini hatırlatır).

## 🎨 Özellikler <a href="#features" id="features"></a>

* Dinamik soketler: Bir yöntem seçtiğinizde giriş ve çıkışlar otomatik oluşturulur veya kaldırılır, böylece arayüz temiz kalır.
* Geniş işlem desteği: Liste oluşturma, sorgulama, değiştirme ve birleştirme (append, extend, insert, pop, remove, filter, slice, sort, reverse, sum, min/max, index, set, pair vb.) işlemlerini destekler.
* Dahili doğrulama: İndeksler sınır dışıysa veya filter/pair gibi işlemler için liste boyutları uyuşmuyorsa uyarı verir.
* Metinden oluşturma: `Create` yöntemi ile virgülle ayrılmış bir metinden hızlıca liste oluşturma imkanı.

## ⚙️ Çalışma mekanizması <a href="#running-mechanism" id="running-mechanism"></a>

1. `Select a method` kontrolünden bir yöntem seçin.
2. Blok, seçilen işleme uygun giriş ve çıkış soketlerini günceller.
3. Gerekli girişleri diğer bloklara bağlayarak veya değer girerek sağlayın.
4. Senaryo çalıştığında blok seçilen liste işlemini gerçekleştirir ve sonuçları ilgili çıkış soketlerinde sunar.
5. Girdiler geçersizse (ör. uyumsuz boyutlar, geçersiz indeks), blok hata mesajı gösterir ve uygun yerlerde güvenli bir geri dönüş değeri verir.

## 📝 Kullanım Talimatları <a href="#usage" id="usage"></a>

1. Bloğu açın ve `Select a method` üzerinden istediğiniz işlemi seçin.
2. Seçilen yöntem için gösterilen `Info` metnini inceleyin.
3. Uygun girişleri bağlayın (ör. `Append` için bir liste ve bir element bağlayın).
4. Senaryoyu çalıştırın ve seçtiğiniz yönteme göre görünen çıkış soketlerinden sonuçları okuyun.

## 💡 İpuçları ve Püf Noktaları <a href="#tips-and-tricks" id="tips-and-tricks"></a>

`Create` Kullanıcıların virgülle ayrılmış öğe girmesine izin vermek için bir `String Input` bloğu ile birlikte kullanın, ardından otomatik olarak listeye dönüştürün.

`Filter` ve `Filter Inverse` Veriyi filtrelerken, koşul listesini `Equals`, `Greater` veya `Less` gibi mantıksal bloklarla oluşturun ve ardından bu boolean listeyi bu bloğa vererek eşleşen öğeleri çıkartın.

`Pair` Paralel veri akışlarını birleştirmek için faydalıdır. Örneğin, paralel listeleriniz (pozisyonlar ve boyutlar gibi) varsa, `Object Detection` veya `Object Detection - Custom` çıktılarıyla birlikte kullanıp verileri downstream için zip’leyebilirsiniz (kayıt veya dışa aktarma için).

`Get`, `Index`, `Min`, `Max` Sorgulamadan veya toplama işleminden önce girdileri temizlemek için `Get Element`, `Exclude Nones` veya `Replace None` ile kombinleyin.

`Sum`, `Len` Sayısal özetleri toplamak veya kaydetmek için `Scope` veya `CSV Export` ile birlikte kullanın.

`Slice` Bir öğe yığını (batch) işlerken, `Debatch` veya `Batch Processing` ile kombinleyip alt listeler üzerinde yineleme ve işlem yapın.

Genel

* Bir listeyi sabit tutmak ve yalnızca açık bir güncelleme gelene kadar korumak istiyorsanız `Data Memory` kullanın.
* Listeleri burada yeniden yapılandırdıktan sonra `Data to JSON` veya `CSV Export` ile dışa aktarma ve kayıt boru hatları oluşturun.
* Metinsel kaynaklardan liste oluştururken, metinleri hazırlamak için `Find Substring` ve `String Merge` kullanın, sonra `Create` yöntemini uygulayın.

(Dayanıklı boru hatları kurmak için bu ilişkili blokları çalışma alanınızda hazır bulundurun)

## 🛠️ Sorun Giderme <a href="#troubleshooting" id="troubleshooting"></a>

`Filter` ve boyut uyuşmazlığı\
Eşitsiz boyutlarla ilgili bir hata görürseniz, koşul listesinin veri listesiyle aynı sayıda öğeye sahip olduğundan emin olun. Boyutları teşhis etmek için `Get Batch Size` veya `Len` kullanın.

`Index out of range`\
İndeks alan işlemler (`Get`, `Set`, `Insert`, `Pop`) için indeks sınırlarını bağlamadan önce doğrulayın. Geçerli aralıkları elde etmek için `Len` veya `Get Batch Size` kullanın.

`Beklenmeyen türler`\
Bazı işlemler sayısal veya karşılaştırılabilir öğeler bekler (`Sum`, `Min`, `Max`, `Sort`). Önce `Replace None` ve `Exclude Nones` kullanarak listeyi temizleyin.

`Metinden liste oluşturma`\
`Create` kullanırken öğelerin virgülle ayrılmış olduğundan emin olun. Fazla boşluklar otomatik olarak kırpılır, ancak sayısal olmayan tokenlar string olarak kalır — daha ileri ayrıştırma gerekiyorsa `Find Substring` veya `String Operations` ile kontrol edin.

Süregelen sorunlarla karşılaşırsanız, seçili yöntem için gösterilen `Info` ipucunu kontrol edin — genellikle yöntem-spesifik hızlı rehberlik içerir.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/turkish/fonksiyon-bloklari/data-logic/data-operations/list-operations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
