# Diziler ve sözlüklerle çalışma

**Dizi** — değer koleksiyonunu (dizi elemanları denir) depolayan ve her biri bir indeksle tanımlanan bir veri yapısıdır. Köşeli parantezler \[] kullanılarak tanımlanır. Örneğin, q = \[] ifadesi q değişkeninin boş bir dizi tuttuğu anlamına gelir. Eğer q = \[2, 5, 7, 4, 9] ise, dizi 5 eleman içerir — bu onun uzunluğudur. Elemanların dizideki konumlarını temsil eden indeksler 0'dan başlar. Yani, "2" elemanının indeksi 0'dır ve bizim dizimizdeki "4" elemanının indeksi 3'tür.

<figure><img src="/files/6f20d959d19084907d490ed3e8d58306693d04fd" alt=""><figcaption></figcaption></figure>

**Örnek:** array=\[1,2,3,4] veya array1=\["anne","baba","oğul","kız"]

**Bir dizi elemanına erişme örneği:** array\[1] (2 değerini döndürür)

**Sözlük** — verileri depolayan, özel olarak düzenlenmiş bir eleman kümesini temsil eden bir veri yapısıdır. Tüm veriler anahtar-değer çiftleri biçiminde saklanır. Veri öğelerine erişim anahtar kullanılarak yapılır. Bir anahtar, tek bir sözlük içinde her zaman benzersiz olmalıdır; veriler (değerler) ise gerekirse yinelenebilir.

**Örnek:** {"SLU":12345,"Name":"Erkek tişörtü, beyaz","Size":50,"Price":1000}

**Bir dizi elemanına erişme örneği:** dictionary\["Array"] (12345 değerini döndürür)

Hem diziler hem de sözlükler karmaşık veya iç içe yapılar içerebilir — yani birbirlerini içerebilirler. Örneğin:

sözlük dizisi: products=\[{"SKU":12345,"Name":"Erkek tişörtü, beyaz","Size":50,"Price":1000},{"SKU":12346,"Name":"Erkek tişörtü, beyaz","Size":52,"Price":1000}]

&#x20;İfade `s = {}` ifadesi, s değişkeninin hiçbir eleman içermeyen bir sözlük tuttuğu anlamına gelir. Buna bir anahtar-değer çifti, hatta birkaç tane ekleyebiliriz: `s = {"key1":"value1", "key2":"value2","key3":"value3"}` Her anahtar ve değer tırnak içine alınır, anahtar ile değer arasına iki nokta konur ve anahtar-değer çiftleri virgülle ayrılır.

Diziler ve sözlükler iç içe olabilir. Bir örneğe bakalım:

`rainbow = [red, orange, yellow, green, light blue, blue, purple]` - bu bir dizidir.

Şöyle yazarsak&#x20;

rainbow = {"every":"red","hunter":"orange","wants":" yellow","know":"green","where":"light blue","sits":"blue","pheasant":"purple"}

\- bir sözlük elde ederiz

Gökkuşağına yakından bakarsak, örneğin açık mavi renginin daha karmaşık olduğunu ve turkuaz, açık mavi ve koyu maviden oluştuğunu görebiliriz. Şöyle yazalım: `light blue = [turquoise,light blue, dark blue]`. Şimdi "blue" dizimizi "rainbow" sözlüğüne gömelim:

rainbow = {"first\_color":"<mark style="color:varsayılan;background-color:yellow;">kırmızı</mark>","<mark style="color:varsayılan;background-color:blue;">second\_color</mark>":"<mark style="color:varsayılan;background-color:yellow;">turuncu</mark>","<mark style="color:varsayılan;background-color:blue;">third\_color</mark>":"<mark style="color:varsayılan;background-color:yellow;">sarı</mark>","<mark style="color:varsayılan;background-color:blue;">forth\_color</mark>":"<mark style="color:varsayılan;background-color:yellow;">yeşil</mark>","<mark style="color:varsayılan;background-color:blue;">sixth\_color</mark>":"<mark style="color:varsayılan;background-color:yellow;">mavi</mark>","<mark style="color:varsayılan;background-color:blue;">last\_color</mark>":"<mark style="color:varsayılan;background-color:yellow;">mor</mark>"}

Peki örneğin "turkuaz" gibi bir elemanın adresini nasıl belirtiriz?&#x20;

Dizilerde adresleme <mark style="color:varsayılan;background-color:yellow;">**indeks**</mark>ile yapılır, bu yüzden "turkuaz" elemanının adresi 0'dır.

&#x20;Bunu özetleyelim: **\["where"]\[0]** - "turkuaz" elemanının adresidir.

<div data-with-frame="true"><figure><img src="/files/3fbc275ef9ed91f3690b0939fc7111586839736c" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/b78dbb585e9e16fdfdcd21f552abe44eaddf12d0" alt="" width="375"><figcaption></figcaption></figure></div>

## Adresleme ile nasıl çalışılır (JSON)

API üzerinden üçüncü taraf hizmetlerden yanıt alırken, çoğunlukla bir sözlükü temsil eden JSON alırız. Çoğu zaman, bu sözlükten belirli bir değeri bir değişkende saklamamız gerekir.

JSON'da adresleme ilkesini anlamanın en iyi yolu bir örnektir:<mark style="color:varsayılan;background-color:green;">{</mark><mark style="color:varsayılan;background-color:orange;">"suggestions"</mark>: <mark style="color:varsayılan;background-color:red;">\[{"value": "Dirham", "unrestricted\_value": "Dirham", "data": {"code": "784", "strcode": "AED", "name": "Dirham", "country": "UAE"}}]</mark><mark style="color:varsayılan;background-color:green;">}</mark>&#x20;

Burada tek bir anahtar-değer çifti içeren bir sözlüğümüz var **suggestions** - dizinin anahtarı: `[{"value": "Dirham", "unrestricted_value": "Dirham", "data": {"code": "784", "strcode": "AED", "name": "Dirham", "country": "UAE"}}]`

Anahtarın **suggestions** değeri yalnızca bir eleman içeren bir dizidir — bir sözlük:  `{"value": "Dirham", "unrestricted_value": "Dirham", "data": {"code": "784", "strcode": "AED", "name": "Dirham", "country": "UAE"}}` **suggestions|0** - dizinin ilk (ve tek) elemanının anahtarıdır.`{"value": "Dirham", "unrestricted_value": "Dirham", "data": {"code": "784", "strcode": "AED", "name": "Dirham", "country": "UAE"}}`

**suggestions|0|value** - "Belarus rublesi" değerinin anahtarıdır

{"suggestions": \[{"<mark style="color:varsayılan;background-color:orange;">value</mark>": "Dirham", "unrestricted\_value": "Dirham", "data": {"code": "784", "strcode": "AED", "name": "Dirham", "country": "UAE"}}]}

Bu JSON'daki en uzun anahtar yolu: **suggestions|0|data|strcode** - AED için anahtardır

<div data-with-frame="true"><figure><img src="/files/245d0e76f04c3302b4167487532286e104ca48a2" alt="" width="563"><figcaption></figcaption></figure></div>

{"suggestions": \[{"value": "Dirham", "unrestricted\_value": "Dirham", "data": {"code": "784", "<mark style="color:varsayılan;background-color:orange;">strcode</mark>": "<mark style="color:varsayılan;background-color:red;">AED</mark>", "name": "Dirham", "country": "UAE"}}]}

Anahtarlar dikey çizgi ile ayrılır. JSON bir dizi içeriyorsa, elemanlara erişim 0'dan başlayan indeksle yapılır ve yine dikey çizgi kullanılarak yazılır. Dizi indeksleme 0'dan başlar.

Adreslemede sayılar, dizelerle aynı şekilde ele alınır ve tersi de geçerlidir. Örneğin, '6' ve 6 eşit kabul edilir.

API yanıtlarına ek olarak, diziler ve sözlükler verileri rahatça saklamak için de kullanılabilir.

Örneğin, bir botun belirli bir bölümüne erişimi yalnızca belirli kullanıcılara kısıtlamanız gerekiyorsa, onların ID'lerini bir dizide saklayabilir, bunu global bir proje değişkenine koyabilir ve blok koşullarında veya ok mantığında kullanarak kullanıcının ID'sinin dizide olup olmadığını kontrol edebilirsiniz.

Başka bir örnek, takım oyunda her oyuncu için puan sayısını saklamanız gerektiğinde ortaya çıkar. Bunun için anahtarların kullanıcı ID'leri, değerlerin ise puanları olduğu bir sözlük kullanabilirsiniz.

Bazen bir dizi veya sözlüğü değiştirmek gerekir. Bu makalede açıklanan işlevler tam olarak bu amaç için tasarlanmıştır. Aşağıda açıklanan yöntemlerin çoğu hem dizilerle hem de sözlüklerle çalışır.

## Dizilerle çalışma

### Dizi nasıl oluşturulur

Dizi oluşturma - bir dizi tanımlama

**array\_name = \[]**

### Dizi nasıl temizlenir

Bir diziyi temizlemek, özünde boş bir dizi tanımlamakla aynıdır:

**array\_name = \[]**

### Dizi elemanına nasıl erişilir

<details>

<summary>Açıklama</summary>

**name\[index] -** bir dizi elemanına indeks veya değer ile erişme

</details>

<details>

<summary>Örnek</summary>

Dizilerle çalışmanın bazı örneklerine bakalım:

**Dizi elemanına indeksine göre erişme örneği:**

<div data-with-frame="true"><figure><img src="/files/18bd854303612f2fa40999e959f85358f5e4cdda" alt="" width="563"><figcaption></figcaption></figure></div>

#### Son dizi elemanını alma örneği:

<div data-with-frame="true"><figure><img src="/files/969510df6a91fefe224406946bd8cc7d5306ca2e" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
/*İndekse göre erişim*/
arrayI = [1, "2", 3, 4, 5]
k=arrayI[3]
/*İç içe dizide indekse göre erişim*/
arrayV = [[1, "2", 4, 5], "2", 3, 4, 5]
v=arrayV[0][1]

/*Son elemanı alma örneği*/
array = [1, "2", 3, 4, 5]
/*Dizinin son elemanını alma*/
last = array[-1]
```

</details>

### Bir dizideki değer nasıl değiştirilir

<details>

<summary>Açıklama</summary>

**name\[index] =** **value** - bir dizi elemanını verilen bir indeksle değiştirme

</details>

<details>

<summary>Örnek</summary>

**Örnek:**

Belirli bir dizi elemanının değerini değiştirmek için şu sözdizimini kullanın: *array\_name\[index] = value*

<div data-with-frame="true"><figure><img src="/files/04aa7566807d279059bd5fa052a61a891606cc07" alt="" width="563"><figcaption></figcaption></figure></div>

Cevap:

<div data-with-frame="true"><figure><img src="/files/54a5cf32831eaacf015360c7077a0a41d1d96b99" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
array = [1, "2", 3, 4, 5]

/*Dizi\sözlükte değiştirme*/
array[2] = 888

/*Sözlüğe ekleme   dicts['key'] = 'VVVVVVVVVVV'*/
dicts['m']=new

/*Dizi\sözlükte sayıya dönüştürerek değiştirme*/
array[3] = int('888')
dicts['a'] = int('555')
```

</details>

### Bir elemanın dizide olup olmadığı nasıl kontrol edilir

<details>

<summary>Açıklama</summary>

**in\_array(mass, value)** - bir elemanın dizide olup olmadığını kontrol etmek için.

**Parametreler:** \ <mark style="color:kırmızı;">!</mark> **mass -** dizi \ <mark style="color:kırmızı;">!</mark> **value -** aranacak değer

Değerin bulunup bulunmadığına bağlı olarak True veya False döndürür.

</details>

<details>

<summary>Örnek</summary>

Örnek:

<div data-with-frame="true"><figure><img src="/files/b786d1e48ebabbca59098be3aa8eed4541be006f" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
s = ["Mike", "Peter", "Helen"] 
q = if(in_array(s, 'Ann'), 'Bulundu', 'Başka bir dize')
```

</details>

### Dizi uzunluğu nasıl öğrenilir

<details>

<summary>Açıklama</summary>

**arr\_len(mass)** - dizi uzunluğunu öğrenmek için

Parametre:\ <mark style="color:kırmızı;">!</mark> **mass -**  *dizi*&#x20;

Sonuç: Sayı döndürür - dizi uzunluğu.

{% hint style="warning" %}
Parametreleri fonksiyona aktarırken dikkatli olun! Parametre verilmeden çağrılırsa 0 döndürür; parametre ne dizi ne de sözlükse -1 döndürür.
{% endhint %}

</details>

<details>

<summary>Örnek</summary>

Kullanım örneği:

<div data-with-frame="true"><figure><img src="/files/1fae7507cf508d746cbbec34a701289047d939f8" alt=""><figcaption></figcaption></figure></div>

Sonuç:

<div data-with-frame="true"><figure><img src="/files/4b5a1864c697b9cbf2e51104d74c3be921439d11" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
s = ["Mike", "Peter", "Helen"] 
q = if(arr_len(s) > 5, 'Grup dolu', 'Ekibimize katılın!')
```

</details>

### Bir diziye sonuna eleman nasıl eklenir?

<details>

<summary>Açıklama</summary>

**append(mass, element, priznak)** - bir dizinin sonuna eleman eklemek için.&#x20;

Parametreler:

<mark style="color:kırmızı;">!</mark> **mass -** dizi\ <mark style="color:kırmızı;">!</mark> **element -** eklenecek eleman\
**priznak** - bunun dizi mi sözlük mü olduğunu belirten bayrak

Sonuna değer eklenmiş diziyi döndürür. Orijinal diziyi güncellemek için şu atamayı kullanın: **mass = append(mass, element, priznak)**&#x20;

{% hint style="warning" %}
&#x20;Varsayılan olarak veriler dize olarak eklenir. **Bir dizi veya sözlük eklemeniz gerekiyorsa, ek bir True parametresi geçin**. Bu, JSON eklediğinizi belirtir.
{% endhint %}

</details>

<details>

<summary>Örnek</summary>

Kullanım örneği:

<div data-with-frame="true"><figure><img src="/files/6fc44f09c23c5afce5e98ebb390c846065a350b3" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/f720f3b022c1c0a441a3d775f07f090e8c66bab4" alt="" width="375"><figcaption></figcaption></figure></div>

Bir diziye ekleme ve diziden çıkarma örneği:

<div data-with-frame="true"><figure><img src="/files/7b63d3af0b6ecfaf077aa0e542d365d32752fbd5" alt="" width="563"><figcaption><p>Bu örnekte, project.vibpzdr dizisine bir eleman ekleniyor ve değer <code>p</code> project.pzdr dizisinden çıkarılıyor</p></figcaption></figure></div>

İçinde diziler bulunan bir dizi oluşturma örneği:

<div data-with-frame="true"><figure><img src="/files/1f061de6bc4e63b139e55e83b00e0d5ef9c7f339" alt="" width="563"><figcaption></figcaption></figure></div>

Fonksiyon çalıştırma sonucu:

<div data-with-frame="true"><figure><img src="/files/c26555f237ba1fe25ac8de16784d7e303ccb1488" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
s = ["Mike", "Peter", "Helen"]
q = append(s, 'Max')
```

</details>

### Bir dizide belirli bir konuma eleman nasıl eklenir

<details>

<summary>Açıklama</summary>

**insert(mass, index, value, priznak)** - bir elemanı belirli bir dizi konumuna eklemek için.

Parametreler: \ <mark style="color:kırmızı;">!</mark> **mass -** dizi\ <mark style="color:kırmızı;">!</mark> **index -** ekleme konumu\ <mark style="color:kırmızı;">!</mark> **value -** value\
**gösterge** - bir diziye mi yoksa bir sözlüğe mi eklendiğini belirten gösterge.

Sonuç:\
Değerin belirtilen konuma eklendiği bir dizi döndürür. Başka bir deyişle, değeri aynı diziye eklemek için aşağıdaki biçimdeki komutu kullanın:  **mass = insert(mass, index, value, indicator)**&#x20;

{% hint style="warning" %}
Varsayılan olarak veriler dize olarak eklenir. **Bir dizi veya sözlük eklemeniz gerekiyorsa, ek bir True parametresi geçin**. Bu, JSON eklediğinizi belirtir..
{% endhint %}

</details>

<details>

<summary>Örnek</summary>

Örnek:

<div data-with-frame="true"><figure><img src="/files/a61f4db0f825b74358055fce06dab0ecce1f1e3e" alt="" width="563"><figcaption></figcaption></figure></div>

Sonuç:

Daha karmaşık bir örneğe bakalım - s dizisine t sözlüğü ekleme:

<figure><img src="/files/cecc1b28c615899a89de2f78ae45aa82d7b0f00c" alt=""><figcaption></figcaption></figure>

Fonksiyonda, 1. konuma bir sözlük eklemek istediğimizi belirttik. Sonuca bakalım:

<figure><img src="/files/e294d5c17890f099da7d4dc721c7b75f7fb689df" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
s = ["Mike", "Peter", "Helen"]
q = insert(s, 1, 'Max')
```

</details>

### Diziden eleman nasıl silinir

del() | del | remove()

<details>

<summary>Açıklama</summary>

<mark style="color:varsayılan;background-color:blue;">**İndekse göre**</mark>

**del(mass, key)** - bir elemanı indeksine göre diziden kaldırır.&#x20;

Parametreler: \ <mark style="color:kırmızı;">!</mark> **mass -** dizi adı;\ <mark style="color:kırmızı;">!</mark> **key -** kaldırılacak değerin indeksi

Elemanı kaldırılmış yeni bir dizi döndürür; orijinal dizi değişmeden kalır. Aynı diziyi silmek ve güncellemek için şu komutu kullanın: \
**mass = del(mass, key)**

{% hint style="warning" %}
Eğer diziniz sayılar içeriyorsa ve bir elemanı değere göre kaldırmak istiyorsanız, remove() fonksiyonunu kullanın.&#x20;
{% endhint %}

**del name\['index']** - bir değeri diziden indeksle kaldırma

Parametreler: \ <mark style="color:kırmızı;">!</mark> **name-** dizi adı;\ <mark style="color:kırmızı;">!</mark> **index-** kaldırılacak değerin indeksi

<mark style="color:varsayılan;background-color:blue;">Değere göre</mark>

**remove(mass, value)** - bir değeri bir diziden silmek için *dizi*.&#x20;

Parametreler: \ <mark style="color:kırmızı;">!</mark> **mass -** dizi adı; \ <mark style="color:kırmızı;">!</mark> **value -** diziden kaldırılacak değer

Sonuç:\
Orijinal diziyi değiştirmeden bırakarak değiştirilmiş bir dizi döndürür. Bir elemanı kaldırıp aynı diziyi güncellemek için aşağıdaki biçimdeki komutu kullanın:\
**mass = remove(mass, key)**

</details>

<details>

<summary>Örnekler</summary>

Bir elemanı indekse göre kaldırma örneği:

<div data-with-frame="true"><figure><img src="/files/49d0d793f225169f383e4ce8c6cadd53a43edb6e" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/deba45490e080b5559b42f68b140e3cb2ef24eff" alt="" width="375"><figcaption></figcaption></figure></div>

Bir dizi elemanını değerine göre kaldırma örneği:

<div data-with-frame="true"><figure><img src="/files/793ef3740f1d234d6d1cdd4fe71bfa7fcd49b6e1" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/3e45afc95966429bef9221bc1ca1a8a40ff1dcbd" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
/*Bir dizi elemanını indeksine göre kaldırma:*/
array = ["1",2, 3, "4"]
del array['1']

array1 = ["1",2, 3, "4"]
array1=del(array1,0)


/*Bir dizi elemanını değerine göre kaldırma:*/
array = ["1",2, 3, "4"]
array=remove(array, '4') 

array1 = ["1",2, 3, "4"]
array1=remove(array1, 2) 
```

</details>

### Bir elemanın dizideki konumu nasıl bulunur

<details>

<summary>Açıklama</summary>

**index(mass, value)**

Parametreler: \ <mark style="color:kırmızı;">**!**</mark> **mass -** dizi adı \ <mark style="color:kırmızı;">**!**</mark>**&#x20;value -** konumu belirlenmesi gereken değer.

Eleman dizide yoksa, fonksiyon -1 döndürür.

</details>

<details>

<summary>Örnekler</summary>

Bir elemanın dizideki konumunu belirleme örneği:

<div data-with-frame="true"><figure><img src="/files/d7dfae8f344a43fa9adb0f80ad22c30103f37d4a" alt="" width="563"><figcaption></figcaption></figure></div>

Sonucu ayrıntılı olarak biraz daha yakından inceleyelim:

<div data-with-frame="true"><figure><img src="/files/5f2cb7b706d4dbe2a376c804d7fb79a8d92f7a62" alt="" width="375"><figcaption></figcaption></figure></div>

Gördüğümüz gibi, 5 sayısı dizide olmadığından fonksiyon -1 döndürdü.

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
array = ["1",2, 3, "4"]
search1=index(array,"1")
search2=index(array,5)
```

</details>

### Bir diziyi insan tarafından okunabilir metne dönüştürme

<details>

<summary>Açıklama</summary>

**massive\_to\_text(massive, header, numbered,delimiter1,delimiter2)**

Parametreler:

<mark style="color:kırmızı;">**!**</mark>**&#x20;massive** – görüntülenecek dizi,\
**header** – çıktının başında görünecek bir başlık\
**numbered** – herhangi bir değer geçirilirse, dizi elemanları numaralandırılır\
**delimiter1** – her eleman satırının sonunda yer alan karakter (varsayılan ‘;’),\
**delimiter2** – numaralandırma etkin olduğunda öğe numarasından sonra kullanılan karakter (varsayılan ‘)’)

</details>

<details>

<summary>Örnekler</summary>

Basit örnek:

Sonuç olarak, dizi numaralı bir liste olarak gösterilecektir:

<div data-with-frame="true"><figure><img src="/files/4aadd47e7f0cb64a4ace1e0d8de2170b84081f24" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
Array1 = [1, 2, 3, "a", "b", "c"] 
text = array_to_text(Array1, 'title', 1) 
```

</details>

### Bir diziyi başka bir diziden hariç tutma

<details>

<summary>Açıklama</summary>

**except\_arr(mas1, mas2)**&#x20;

Parametreler:

<mark style="color:kırmızı;">**!**</mark>**&#x20;mas1** - elemanları hariç tutulacak dizi,\ <mark style="color:kırmızı;">**!**</mark>**&#x20;mas2** - hariç tutulacak elemanları içeren dizi

</details>

<details>

<summary>Örnekler</summary>

Örneğe bakalım:

<div data-with-frame="true"><figure><img src="/files/f32b0b237e76fafc655fd546f96166b3ffa33ea5" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/6656353eb03d579efdce8b40a2586feeb7de5491" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
s1 = [1, 2, 3]
s2 = [2, 3]
s3 = except_arr(s1, s2)
```

</details>

### Dizilerin kesişimi nasıl bulunur

<details>

<summary>Açıklama</summary>

**cross\_arr(mas1, mas2)**

Parametreler:

<mark style="color:kırmızı;">**!**</mark>**&#x20;mas1** - içinde aranacak dizi\ <mark style="color:kırmızı;">**!**</mark>**&#x20;mas2** - aranacak elemanları içeren dizi

</details>

<details>

<summary>Örnekler</summary>

<div data-with-frame="true"><figure><img src="/files/46af99f715bcf48eb1348f28512cadd17ed0cff8" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/054691ec06be5b0bac2b3282f4c49c8dc78a5473" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
s1 = [1, 2, 3]
s2 = [2, 3]
s3 = cross_arr(s1, s2)

mas1 = ["didn't", "except,", "that", "everything", "is", "so", "simple.", "thanks"]
mas2 = ["everything", "thanks"]
mas3 = cross_arr(mas1, mas2)
```

</details>

### **Diziler nasıl birleştirilir**

<details>

<summary>Açıklama</summary>

Dizileri birleştirmek için özel bir yerleşik işlev yoktur, ancak kolayca yapılabilir:

Dizileri birleştirmek için önce dize birleştirmesi yapın, ardından ']\[' ifadesini virgülle ',' değiştirin

</details>

<details>

<summary>Örnekler</summary>

Bu, Hesap Makinesi alanında bir örnektir

<div data-with-frame="true"><figure><img src="/files/f3b8371afa9724e82a8a2f105b7133d876c5250f" alt="" width="563"><figcaption></figcaption></figure></div>

Bu, çalışan bir botun örneğidir

<div data-with-frame="true"><figure><img src="/files/fe9e5789ccbc95d27771c4bbea73843685ffd8b9" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
a = [1,2,3,4] 
b = [5,6,7] 
sum = a + b 
answer = replace(sum, '][', ',') 
```

</details>

### Bir dizinin elemanları nasıl toplanır

<details>

<summary>Açıklama</summary>

**sum\_array(array)**

**Parametreler:**

**dizi** - elemanlarının toplanması gereken dizi

{% hint style="warning" %} <mark style="color:kırmızı;">**Dikkat!**</mark>**&#x20;Fonksiyon belirli bir biçimdeki dizilerle çalışır.**

Kabul edilen biçimler: - \[1,2,3,4] veya ‘\[1,2,3,4]’. \
Dizi içinde dize olarak temsil edilen sayılar varsa, bunlar çift tırnak içine alınmalıdır — örneğin, \[1,2,3,”-4”].  \
Dizi alfabetik dizeler içeriyorsa, hesaplama başarısız olur.

Hatalı kullanım örneği:\
mas = \[1,2,3,"a"] \
result = sum\_array(mas)

Bu, bir hataya yol açacaktır: **dizide desteklenmeyen elemanlar var**
{% endhint %}

</details>

<details>

<summary>Örnekler</summary>

<div data-with-frame="true"><figure><img src="/files/9950ef9c861aa0b4d15ef4119807f9ad4b739de9" alt="" width="563"><figcaption></figcaption></figure></div>

Sonuç:

<div data-with-frame="true"><figure><img src="/files/fc9de78e4445c58b4c4e6b27e32bfc393df358a9" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/3e48b2c3af68f62e35edd18b5b000d2a40385631" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
mas = [1,2,3,4] 
result = sum_array(mas) 
```

</details>

### Bir dizinin elemanları nasıl karıştırılır

<details>

<summary>Açıklama</summary>

**shuffle\_massive(massive**

Parametreler:

**massive** - elemanları karıştırılması gereken dizi.

</details>

<details>

<summary>Örnekler</summary>

<div data-with-frame="true"><figure><img src="/files/93eac8e3aca02d2b464ed74e28e5437bc70f4516" alt="" width="563"><figcaption></figcaption></figure></div>

Fonksiyon çalıştırma sonuçları:

<div data-with-frame="true"><figure><img src="/files/79dede6edb40153b72c485729e10965701d9f1ca" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
Massive1 = [1, 2, 3, "a", "b", "c"]
Massive2 = shuffle_massive(Massive1) 
```

</details>

### Dizileri ve sözlükleri sıralama için&#x20;

sort() | sort\_by\_value()

<details>

<summary>Açıklama</summary>

<mark style="color:varsayılan;background-color:blue;">**Bir dizide veya sözlükte sıralama**</mark>&#x20;

**sort(mass, b)** - bir diziyi değere göre, bir sözlüğü ise anahtara göre sıralar

Parametreler:

<mark style="color:kırmızı;">**!**</mark>**&#x20;mass** - dizi/sözlük\
**b** - sıralama düzeni (False – artan (varsayılan), True – azalan)

<mark style="color:varsayılan;background-color:blue;">**Sözlüğü değerine göre sıralama**</mark>

**sort\_by\_value(dict, b) -** bir sözlüğü değerlere göre sıralar.

Parametreler:\ <mark style="color:kırmızı;">**!**</mark>**&#x20;dict**- sözlük\
**b** - sıralama düzeni (False – artan (varsayılan), True – azalan)

</details>

<details>

<summary>Örnek</summary>

Bir diziyi azalan, bir sözlüğü ise artan düzende sıralama örneği:

<div data-with-frame="true"><figure><img src="/files/e9961f1f0f6b5f4886f551893e75b5d64c5cb9ed" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/5bbc4f1bc6cca4ce4d2f1872e161393635b44142" alt="" width="375"><figcaption><p>sıralama sonucu</p></figcaption></figure></div>

Bir sözlüğü değerlere göre sıralama:

<figure><img src="/files/c9ec97d48f5a4e2e36ba8177f278282274a2b5c3" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/ce47877cebd74dea20552657e54a329825645141" alt="" width="375"><figcaption><p>sıralama sonucu</p></figcaption></figure>

</details>

### Bir dizi/sözlüğü düğmelere dönüştürme

**tools\_make\_button\_str\_checker() | tools\_check\_user\_input()**

<details>

<summary>Açıklama</summary>

<mark style="color:varsayılan;background-color:blue;">**Bir dizi/sözlüğü düğmelere dönüştürme**</mark>

tools\_make\_button\_str\_checker(values\_list, key, in\_line, button\_type, checker\_with\_numbers)

Parametreler:

<mark style="color:kırmızı;">**!**</mark> values\_list - verileri klavye veya numaralı liste oluşturmak için kullanılacak dize veya sözlük dizisi

key - sözlük dizisinden seçim yapmak için kullanılacak anahtar

in\_line - satır başına düğme sayısı (varsayılan: 1)

button\_type - düğme türü (varsayılan: yanıt klavyesi). \
Olası değerler:\
0 - yanıt klavyesi,\
1 - satır içi klavye (metin içindeki düğmeler)

checker\_with\_numbers - "checker" dizisine düğme numaraları eklenip eklenmeyeceği. \
Olası değerler:\
0 - numara ekleme, \
1 - numara ekle (varsayılan: 1 – numara ekle)

Fonksiyon sonucu — şu biçimde bir sözlük:

{"**numbered\_list**":"1. Tişörtler\n2. Şortlar\n3. Çoraplar\n4. Şapkalar\n","**buttons**":\[{"type":"inline","text":"Tişörtler","line":0,"index\_in\_line":0},{"type":"inline","text":"Şortlar","line":0,"index\_in\_line":1},{"type":"inline","text":"Çoraplar","line":1,"index\_in\_line":0},{"type":"inline","text":"Şapkalar","line":1,"index\_in\_line":1}],"**checker**":"Tişörtler;1;Şortlar;2;Çoraplar;3;Şapkalar;4;"}

Daha sonra sözlük değerleri yapıcıdaki alanlara eklenebilir:

<div data-with-frame="true"><figure><img src="/files/98a240413e0fed7c067b12606a0cdea2c63dc997" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/a079ec7b18d27908af36e7e304ac88bea9e2b8c3" alt="" width="375"><figcaption></figcaption></figure></div>

<mark style="color:varsayılan;background-color:blue;">**Müşteri seçimine göre bir sözlük değerini alma**</mark>&#x20;

**tools\_check\_user\_input(values\_list, user\_input, key, return\_key)**&#x20;

Parametreler:

<mark style="color:kırmızı;">**!**</mark>**&#x20;values\_list** - verileri klavye veya numaralı liste oluşturmak için kullanılacak dize veya sözlük dizisi\ <mark style="color:yeşil;">Sözlük örneği:</mark> \[{"text":"Tişörtler","price":100},{"text":"Şortlar","price":150},{"text":"Çoraplar","price":20},{"text":"Şapkalar","price":50}]\ <mark style="color:kırmızı;">**!**</mark>**&#x20;user\_input** - kullanıcının values\_list içindeki değerlerden biri olarak girdiği değer\ <mark style="color:yeşil;">Değer örneği:</mark> Şapkalar\
**key** - sözlük dizisinden seçim yapmak için kullanılan anahtar\ <mark style="color:yeşil;">Anahtar örneği:</mark> text\
**return\_key** - values\_list içinden belirtilen anahtar için döndürülen değer\ <mark style="color:yeşil;">Dönüş değeri örneği:</mark> price

</details>

<details>

<summary>Örnek</summary>

Fonksiyon kullanımını bir alışveriş sepeti örneği üzerinden inceleyelim:

1\. Bir dizi tanımlayın ve bunu tools\_make\_button\_str\_checker() fonksiyonunu kullanarak numaralı listeye, düğmelere ve olası değerler listesine dönüştürün (düğmesiz mesajlaşma uygulamaları için).

<div data-with-frame="true"><figure><img src="/files/0b813cec944d15251f8b56870db00da5f95ffacc" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/2dc26f03684a75375dee95cff9f9a78a08988ee4" alt="" width="375"><figcaption><p>Kullanım sonucu <strong>tools_make_button_str_checker()</strong> fonksiyonu</p></figcaption></figure></div>

2\. Ürün seçimini etkinleştirmek için elde edilen buttons ve numbered\_list değerlerini kullanın:

<div data-with-frame="true"><figure><img src="/files/378969ada8498860014f0a8d3fca6ccee38a3b43" alt=""><figcaption></figcaption></figure></div>

3\. Müşterinin girdisini doğrulamak için olası değerler checker listesini kullanın:

<div data-with-frame="true"><figure><img src="/files/5fa476c9b2a41e862255f47d89fcbb40fbddb929" alt="" width="563"><figcaption></figcaption></figure></div>

4\. Son olarak, seçilen ürünün fiyatını müşteriye gösterin. Bunu tools\_check\_user\_input() fonksiyonunu kullanarak yapmak uygundur

<div data-with-frame="true"><figure><img src="/files/7ba72fcdc96b58b7ba8aac5ba815861abafcb5af" alt=""><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
list = [{"text":"Tişörtler","price":100},{"text":"Şortlar","price":150},{"text":"Çoraplar","price":20},{"text":"Şapkalar","price":50}]
res = tools_make_button_str_checker(list, "text", "2", "1")
numbered_list = res['numbered_list']
buttons = res['buttons']
checker = res['checker']

res_check = tools_check_user_input(list, user_input, 'text', 'price')
```

</details>

### Bir diziden veri seçme

<details>

<summary>Açıklama</summary>

**array\_slice(array, start\_index, end\_index)**&#x20;

Parametreler:

<mark style="color:kırmızı;">**!**</mark>**&#x20;dizi** - dizi \ <mark style="color:kırmızı;">**!**</mark>**&#x20;start\_index** - dilimin başlangıcı \
**end\_index** - dilimin sonu (varsayılan: sonuna kadar)

</details>

<details>

<summary>Örnek</summary>

1\. elemandan başlayarak bir alt dizi seçelim:

<div data-with-frame="true"><figure><img src="/files/2efe78126171be9ce4e253a176e3cac9b40dc825" alt="" width="563"><figcaption><p>array_slice() kullanım örneği</p></figcaption></figure></div>

&#x20;res \["Şortlar", "Çoraplar", "Şapkalar"] olacaktır&#x20;

Dizinin 0. elemanından 2. elemanına kadar bir alt dizi seçme başka bir örnek:

<div data-with-frame="true"><figure><img src="/files/2344a3e66a04187aa14025e9a353ffc1d4929ca8" alt="" width="563"><figcaption><p>array_slice() kullanım örneği</p></figcaption></figure></div>

&#x20;res \["Tişörtler", "Şortlar"] olacaktır

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
list = ["Tişörtler", "Şortlar", "Çoraplar", "Şapkalar"] 
res = array_slice(list, 1)

res = array_slice(list, 0, 2)
```

</details>

### Dizi elemanlarını açma

<details>

<summary>Fonksiyon</summary>

unpack\_list(array, var\_name) - bu yöntem bir diziyi dolaşır ve dizideki her eleman için var1, var2, var3 vb. gibi adlarla ayrı bir değişken oluşturur.&#x20;

<mark style="color:kırmızı;">**!**</mark> array - zorunlu parametre, elemanlardan oluşan bir dizi

var\_name - isteğe bağlı parametre, bir dize. Sağlanırsa, açılan elemanları adlandırmak için kullanılır. Örnekler:

var\_name verilirse, değişken adları var\_name kullanılarak oluşturulur

var\_name değişken adlandırma kurallarına uygun olmalıdır.

</details>

<details>

<summary>Örnek</summary>

**Örnek 1:**

`array1 = ["bir", "iki", "üç"]`

`ans1 = unpack_list(array1)`

**Sonuç** - oluşturulan ayrı değişkenler:

`var1 = 'bir'`

`var2 = 'iki'`

`var3 = 'üç'`

**Örnek 2:**

`array2 = ["bir", "iki", "üç"]`

`var_name = 'custom'`

`ans2 = unpack_list(array2, var_name)`

**Sonuç -** oluşturulan ayrı değişkenler:

`custom1 = 'bir'`

`custom2 = 'iki'`

`custom3 = 'üç'`

</details>

### Tekrarlanan elemanlar içermeyen liste nasıl döndürülür

<details>

<summary>Açıklama</summary>

remove\_duplicates(array) - tekrarlanan elemanlar içermeyen bir liste döndürür.

<mark style="color:kırmızı;">**!**</mark> array - zorunlu parametre. Tekrarlı elemanlar içeren orijinal liste.

</details>

<details>

<summary>Örnek</summary>

Örnek:

arr = \[1, 2, 5, 1, 5, 3]

new\_arr = remove\_duplicates(arr)

Sonuç - \[1, 2, 5, 3] listesi new\_arr değişkenine atanacaktır.

</details>

### Sözlük nasıl oluşturulur

<details>

<summary>Açıklama</summary>

Sözlük oluşturma - bir sözlük tanımlama

**name\_dictionary = {}**

</details>

### Sözlük nasıl temizlenir

<details>

<summary>Açıklama</summary>

Temizleme - boş bir sözlük tanımlamaktan başka bir şey değildir.

**name\_dictionary = {}**

</details>

### Sözlük değeri anahtara göre nasıl alınır

<details>

<summary>Açıklama</summary>

**name\[key] -** bir sözlük elemanını anahtara göre alma

</details>

<details>

<summary>Örnekler</summary>

**Bir sözlükle çalışma örneği:**

&#x20;Bu özel durumda, değere "a" anahtarıyla erişiyoruz. Bir sözlükten belirli bir anahtar kullanarak değer almak için şu biçimi kullanın: name\_dictionary\["key"]

<div data-with-frame="true"><figure><img src="/files/e99e08751520c45c382c77c83563b220c4d7a258" alt="" width="563"><figcaption></figcaption></figure></div>

Cevap:

<div data-with-frame="true"><figure><img src="/files/d5bf3700cf3204178c6bc821cf6e005804fe9254" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
dicts = {"a": "11", "d": "hi"}
/*sözlükten alma*/
aa = dicts["a"]
```

</details>

### Bir sözlükten anahtar listesi nasıl alınır

<details>

<summary>Açıklama</summary>

**dict\_keys\_to\_array(data)** - veri sözlüğü anahtarlarının listesini almak için

</details>

<details>

<summary>Örnekler</summary>

**Örnek:** Tüm sözlük anahtarlarının listesini al

<div data-with-frame="true"><figure><img src="/files/6d2473e68857181d50b6de10966d0e410a1bf19e" alt="" width="563"><figcaption></figcaption></figure></div>

**Cevap:**&#x20;

<div data-with-frame="true"><figure><img src="/files/1366b0ca2a967f3f061ed11edd031949a8d2837e" alt=""><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
v={"A1":"orange","A2":"apricot","A3":"tangerine","A4":"apple","A5":"pear","A6":"kiwi","A7":"banana","A8":"peach"} 
key= dict_keys_to_array(v)
```

</details>

### Bir sözlükten değer listesi nasıl alınır

<details>

<summary>Açıklama</summary>

**dict\_values\_to\_array(data)** - bir sözlükten değer listesi almak için

</details>

<details>

<summary>Örnekler</summary>

Örnek:

<div data-with-frame="true"><figure><img src="/files/061f3c5c98efe1eb1d2e838dc9215866ebbb3835" alt="" width="563"><figcaption></figcaption></figure></div>

Cevap:

<div data-with-frame="true"><figure><img src="/files/0698540e601d4abd0b77115b31f1dd13f4552927" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
v={"A1":"orange","A2":"apricot","A3":"tangerine","A4":"apple","A5":"pear","A6":"kiwi","A7":"banana","A8":"peach"}
value= dict_values_to_array(v)
```

</details>

### Belirtilen anahtara göre sözlük listesinden değerler nasıl alınır

<details>

<summary>Açıklama</summary>

**get\_values\_by\_key(data, key)** - belirtilen anahtara göre sözlük listesinden değer almanızı sağlar. Bir değer listesi döndürür.

</details>

<details>

<summary>Örnek</summary>

Örnek: Bir sözlük listesinden anahtara göre değerleri alın

<div data-with-frame="true"><figure><img src="/files/7508291350d4a1bc56787381fbf10410215ca194" alt="" width="563"><figcaption></figcaption></figure></div>

Cevap:

<div data-with-frame="true"><figure><img src="/files/ae5d5286204abbaf0b636e42ea4f5a43e10d4434" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
data = [{"Product": "Product№1", "Price": 1500}, {"Product": "Product№2", "Price": 6000}]
key = "Product"
result = get_values_by_key(data, key)
```

</details>

### Bir sözlükteki değer nasıl değiştirilir&#x20;

<details>

<summary>Açıklama</summary>

nam&#x65;**\['key'] = value** - sözlük öğesinin değerini belirtilen anahtara göre değiştirme. Var olmayan bir anahtar belirtilirse, yeni bir sözlük öğesi eklenecektir.

</details>

<details>

<summary>Açıklama</summary>

**Örnek:**

Belirli bir dizi öğesinin değerini değiştirmek için, array gibi bir atama yazı&#x6E;*\_name\[index] = value veya dictionary\_name*\[key] = value

<div data-with-frame="true"><figure><img src="/files/8a51d41118716140db8fb0673d394a0449bfef78" alt=""><figcaption></figcaption></figure></div>

Cevap:&#x20;

<div data-with-frame="true"><figure><img src="/files/8a5d9f24630b27fd70c1c410c115129a7d72c9c3" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
dicts = {"a": "11", "d": "hi"}

/*Sözlükte değiştir*/
dicts['d'] = AAAAA

/*Sözlükte ekle   dicts['key'] = 'VVVVVVVVVVV'*/
dicts['m']=new

/*Sözlükte bir sayı ile değiştir*/
dicts['a'] = int('555')
```

</details>

### Bir sözlüğe değer nasıl eklenir

<details>

<summary>Açıklama</summary>

**dictionary\_name*****\['key'] = 'value'** -* sözlüğe yeni bir değer ekleme.&#x20;

{% hint style="warning" %}
Anahtar daha önce mevcut değilse, yeni bir anahtar-değer çifti eklenecektir; aksi takdirde, belirtilen anahtarın değeri değiştirilecektir.
{% endhint %}

</details>

<details>

<summary>Örnek</summary>

Bu, hesaplama alanındaki örnek koddur

<div data-with-frame="true"><figure><img src="/files/21eedf46a47bdbdac67938b00dac42d1998f4e03" alt=""><figcaption></figcaption></figure></div>

Cevap

<div data-with-frame="true"><figure><img src="/files/d00d82eaa09051dc58577c16ed78f28eea863742" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
/*sözlüğe yeni bir değer ekleme dicts['key'] = 'VVVVVVVVVVV'*/
dicts['m']=new
```

</details>

### Bir sözlükte anahtarın mevcut olup olmadığı nasıl kontrol edilir

<details>

<summary>Açıklama</summary>

**exist\_key(mass, key)** - bir sözlükte anahtarın mevcut olup olmadığını kontrol etmek için.

Parametreler:&#x20;

**mass -** dictionary&#x20;

**key -** aranacak anahtar

Anahtarın bulunup bulunmadığına bağlı olarak True veya False döndürür.

</details>

<details>

<summary>Örnek</summary>

Kullanım örneği:

<div data-with-frame="true"><figure><img src="/files/d5fec94362ec2ee74cad10114ea7738adc70fa16" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/4dc6e567d29166f49a08f255d1ab3a4924207dfb" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
s = {"1": 123, "2": 234, "q": {"w": "e"}} 
q = if(exist_key(s, 'q'), 'Bulundu', 'Başka bir satır')
```

</details>

### Bir sözlükte bir anahtarın konumu nasıl kontrol edilir

<details>

<summary>Açıklama</summary>

**key\_index(mass, key)** - bir sözlükte bir anahtarın konumunu kontrol etmek için.

**Parametreler:** \
**mass - sözlük**  \
**key -** Aranacak anahtar.

{% hint style="info" %}
Bir sözlükteki konum 0'dan itibaren sayılır. Yani, ilk öğe 0, ikinci öğe 1'dir ve böyle devam eder.
{% endhint %}

</details>

<details>

<summary>Örnek</summary>

Kullanım örneği:

<div data-with-frame="true"><figure><img src="/files/ed38002d9cb6b672497547e75734cd6eb2a46566" alt=""><figcaption></figcaption></figure></div>

*Sonuç:*

<div data-with-frame="true"><figure><img src="/files/46da3e1a8eae1b474f5a96a45d464cd21a588265" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
s = {"1": 123, "2": 234, "q": {"w": "e"}} 
q = key_index(s, 'q')
```

</details>

### Bir sözlükteki öğe sayısı nasıl alınır

<details>

<summary>Açıklama</summary>

**arr\_len(mass)** - bir sözlüğün uzunluğunu belirlemek için.&#x20;

Parametre:\
**mass -** *dictionary*&#x20;

Sonuç: Bir sayı döndürür – sözlüğün uzunluğu.

{% hint style="warning" %}
Dikkatli olun Bir parametre işleve geçirilirken: işlev parametresiz çağrılırsa 0 döndürür; parametre bir liste veya sözlük değilse -1 döndürür.
{% endhint %}

</details>

<details>

<summary>Örnek</summary>

Kullanım örneği:

<div data-with-frame="true"><figure><img src="/files/513494b59aa42a9375028d8396d24c7c64a93f93" alt=""><figcaption></figcaption></figure></div>

Cevap:

<div data-with-frame="true"><figure><img src="/files/ede1c89186f65615a5ad148d8f0c4b5af33f2b38" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

### Bir sözlükten öğe nasıl silinir

<details>

<summary>Açıklama</summary>

Dizine veya anahtara göre

**del(mass, key)** - bir listedeki öğeyi dizine göre veya bir sözlükteki öğeyi anahtara göre silmek için.\
İki parametre alır: liste/sözlük ve silinecek dizin/anahtar.\
Orijinal nesneyi değiştirmeden değiştirilmiş sözlüğü veya listeyi döndürür.

{% hint style="warning" %}
Bir liste veya sözlükteki değerler sayı ise, bir öğeyi silmek için remove() işlevini kullanın.
{% endhint %}

</details>

<details>

<summary>Örnek</summary>

Bir sözlükle örnek

<div data-with-frame="true"><figure><img src="/files/c2a39e0194e9c6c22c8e499d0bf72f42b200b2ab" alt=""><figcaption></figcaption></figure></div>

Sonuç

<div data-with-frame="true"><figure><img src="/files/bd85bc4946534be3ae51da3354c9e79240b06c27" alt="" width="563"><figcaption></figcaption></figure></div>

Bir diziyle örnek

<div data-with-frame="true"><figure><img src="/files/86a5953fbd1d1642b2c29a11d87caa326bb54940" alt="" width="563"><figcaption></figcaption></figure></div>

Sonuç

<div data-with-frame="true"><figure><img src="/files/bde48f544a58b9ab55875da9b85faf6e029a84fd" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

Bir sözlükle örnek

`s={"1":123, "2":234, "q":{"w":"e"}}`<br>

`q=del(s,'q')`

Bir diziyle örnek

`s=["John", "Ann", "Sophie"]`\ <br>

`q=del(s, 1)`

</details>

### Bir sözlük insan tarafından okunabilir metne nasıl dönüştürülür

<details>

<summary>Açıklama</summary>

**humanize(dict, delimiter, from\_i, to\_i)**&#x20;

Parametreler:

**dict** - sözlük adı\
**delimiter** - satırlar arasındaki ayırıcı\
**from\_i** - çıktının başlayacağı öğenin dizini (0 tabanlı)\
**to\_i** - çıktının biteceği öğenin dizini (dahil değil)

</details>

<details>

<summary>Örnek</summary>

Örneğe bakalım:

<div data-with-frame="true"><figure><img src="/files/ecb5d5165ed25219421f0a205d0ccd2588871966" alt="" width="563"><figcaption></figcaption></figure></div>

Cevap

<div data-with-frame="true"><figure><img src="/files/92d53ef491b4243eff667578bea8459bbe579f38" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

```
dict = {"[id146467928|Alex]":"6","[id145255525|Маx]":"20"}
r = humanize(dict, ': ')
```

</details>

### Sözlükleri sıralamak için&#x20;

sort() | sort\_by\_value()

<details>

<summary>Açıklama</summary>

<mark style="color:varsayılan;background-color:blue;">**Sözlük sıralama**</mark>

**sort(dict, b)** - Bir listeyi değere göre ve bir sözlüğü anahtara göre sıralar

Parametreler:

<mark style="color:kırmızı;">**!**</mark>**&#x20;dict**- sözlük

**b** - sıralama yönü (varsayılan olarak False – artan, True – azalan)

<mark style="color:varsayılan;background-color:blue;">**Değere göre sözlük sıralama**</mark>

**sort\_by\_value(dict, b) -** Bir sözlüğü değerlere göre sıralama.

Parametreler:

<mark style="color:kırmızı;">**!**</mark>**&#x20;dict**- sözlük

**b** - sıralama yönü (varsayılan olarak False – artan, True – azalan)

</details>

<details>

<summary>Örnekler</summary>

Örnek: bir listeyi azalan düzende ve bir sözlüğü artan düzende sıralama:

<div data-with-frame="true"><figure><img src="/files/b01c42991f173b51d2bc89f57cb98a1946ad580c" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/a0e3f790c99c10d22218248ee2cc5dd3c6282f00" alt="" width="375"><figcaption></figcaption></figure></div>

Bir sözlüğü değerlerine göre sıralama:

<div data-with-frame="true"><figure><img src="/files/17a227a5d27a361e915cc0923be10cb68d7eb67c" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/9255b2722864119af3f9ea153042319432c3c6e8" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Kopyalanacak kod örneği</summary>

Örnek: bir listeyi azalan düzende ve bir sözlüğü artan düzende sıralama:

`array1=[5,4,0,6,3,0]`<br>

`array1=sort(array1, True)`

`dict={"Ann":5, "John":4, "Sophie":0, "Alex":6, "Kate":3, "Harry":0}`

`dict=sort(dict)`

Bir sözlüğü değerlerine göre sıralama:

`dict={"Ann":5, "John":4, "Sophie":0, "Alex":6, "Kate":3, "Harry":0}`&#x20;

`dict=sort_by_value(dict)`

</details>


---

# 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.mavibot.ai/doc/tr/chatbot/functions/hesap-makinesi/arrays.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.
