Python List, Tuple, Dictionary(Diziler / Arrays)
Python Programlama Dilinde 4 tür dize (array) bulunur. Bunlar;
- List, sıralanabilir ve değiştirilebilir dizeler. Bu tarz dizelere aynı üyeler tekrar eklenebilir.
- Tuple, sıralanabilir ancak değiştirilemez dizelerdir. Aynı üyeler birden fazla eklenebilir.
- Set sıralanamaz ve aynı üyeleri kabul etmez.
- Dictionary sıralanamaz ancak değiştirilebilir ve listelenebilir. Aynı üyeler eklenemez.
Bir dize kullanırken dizelerin özelliğini bilmek ve ona göre kullanmak hem zaman kazandırır, hem işimizi kolaylaştırır.
List
Liste içindeki elemanlara erişmek için ilgili elemanın indeksi (Sıra nuamarası) kullanılır. Bazı kaynaklarda indis olarak da karşı nıza çıkabilir. İlk elemanın indisi her zaman 0 (sıfır) olarak kabul edilir.
Sıralanabilir ve değiştirilebilir veriler topluluğudur. Nesneler köşeli parantezler arasına yazılır.
thislist = ["elma", "muz", "ayva"]
print(thislist)
Dizedeki Bir Değere Erişmek
Dizedeki bir elemana ulaşmak için sıra numarasını köşeli parantez içinde belirtiriz. İlk elemanın 0 (sıfır) olduğunu unutmayın!
thislist = ["elma", "muz", "ayva"]
print(thislist[1])
thislist = ["apple", "banana", "cherry"]
print(thislist[-1])
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:5])
Yukarıdaki kod çalıştırıldığında ekrana "muz" yazılacaktır. Çünkü muz 1. elemandır (0 = elma, 1 = muz, 2 = ayva).
Sondan Sıraya Göre Değer Almak
Negatif Sıra: Python'da köşeli parantez içinde negatif sıra numarası belirtebilirsiniz. Bu şekilde kullanıldığında sondan kaçıncı nesne ise o görüntülenecektir.
thislist = ["elma", "armut", "kiraz"]
print(thislist[-1])
Yukarıdaki örnek çalıştırıldığında ekranda "kiraz" yazacaktır. Çünkü kiraz -1. (en son) nesnedir. 2 = armut, -3 = elma).
Aralık Belirtmek
Bir dizenin belli elemanlarını aralık belirterek alabilirsiniz. Alınan aralık yeni bir dize olarak dönecektir.
thislist = ["elma", "muz", "kiraz", "portakal", "kivi", "karpuz", "mango"]
print(thislist[2:5])
Yukarıdaki örnekte 2. eleman (kiraz), 3. eleman (portakal) ve 4. eleman (kivi) seçilecektir. 5. eleman (karpuz) sonuca dahil edilmez. Yani 2:5 = 3 elemanlı bir dize oluşturur.
Eğer aralık belirtirken ilk sayıyı boş geçersek ilk elemandan belirtilen sayı kadar değeri dize haline dönüştürür.
liste = ["elma", "muz", "kiraz", "portakal", "kivi", "karpuz", "mango"]
print(liste[:4])
Yukarıdaki kod çalıştırıldığında sonuç olarak 0, 1, 2 ve 3. elemanlar olmak üzere toplam 4 elemanlı bir dize elde etmiş olacağız.
Eğer ikinci parametre boş bırakılırsa bu durumda ilk belirtilen elemandan itibaren dizenin sonuna kadar değerler alınarak bir dize oluşturulur.
liste = ["elma", "muz", "kiraz", "portakal", "kivi", "karpuz", "mango"]
print(liste[2:])
Yukarıdaki kod çalıştırıldığında 2. eleman yani "kiraz" dan başlamak üzere son eleman mango'ya kadar değerler seçilir ve bir dize oluşturulur.
Negatif sıralar kullanarak bir aralık belirtebiliriz. Örneğin sondan 4. karakterden, sondan 2. karaktere kadar olan değerler seçilecekse, şu tarz bir kod işimizi görecektir:
liste = ["elma", "muz", "kiraz", "portakal", "kivi", "karpuz", "mango"]
print(liste[-4:-1])
Yukarıdaki kod çalıştırıldığında -4. nesne olan portakal'dan -1. nesne olan karpuz'a kadar değerler bir dize haline getirilecektir.
print(asal_sayilar[0:6:2])
print(asal_sayilar[::2])
Eleman Sıra Nosunu (Index) Bulmak
Index: Bir elemanın listedeki konumunu bulur.
print(donanim.index("sabit disk")) #4
print(donanim.index(donanim[0])) #0
Bir Değeri Değiştirmek
Dizedeki bir değeri değiştirmek için önce değişkenin adının sağına köşeli parantez arasında sıra numarası (index) yazılır, ardından eşittir kullanılarak yeni değer yazılır.
liste = ["elma", "muz", "armut"]
liste[0] = "mandalina"
print(liste)
Dizedeki Tüm Değerleri Sırayla Yazdırmak
for döngüsünü aşağıdaki biçimde kullanarak dizedeki değerleri tek tek işleyebiliriz.
liste = ["elma", "muz", "kiraz"]
for x in liste:
print(x)
Bu konuya daha sonra döngüler kısmında kapsamlı bir şekilde değinilecektir.
Bir Değerin Listede Var Olup Olmadığını Kontrol Etmek
Bunun için in komutunu kullanırız. değer in liste sorgusu eğer listede bu değer varsa True, yoksa False olarak döner:liste = ["elma", "muz", "kiraz"]
Ara="muz"
liste = ["elma", "muz", "kiraz"]
if Ara in liste:
print("Evet,", Ara, "listede var!")
else:
print(Ara, "listede yok")
Bir Dizenin Kaç Elemanlı Olduğunu Bulmak
Dizelerin eleman sayısı yani boyutu/genişliği len() fonksiyonu ile tespit edilebilir:
liste = ["elma", "muz", "kiraz"]
print(len(liste))
print(Meyveler[len(Meyveler)-1]) #dizinin son elemanı
print(Meyveler[-1]) #dizinin son elemanı
Elemandan Kaç Adet Olduğunu Bulmak
Bu örnekte say isimli bir değişken tanımlanmış ve count fonksiyonu ile kaç adet klavye kelimesi olduğu bu lunmuştur.
donanim=[“yazıcı”, “klavye”, “işlemci”, “bellek”, “sabit disk”, “klavye”]
say=donanim.count(“klavye”)
print(say)
Dizeye Değer Eklemek
Dizeye yeni bir değer eklemek için append() fonksiyonundan faydalanabiliriz. Değer, dizenin en sonuna eklenecektir.
liste = ["elma", "muz", "kiraz"]
liste.append("kavun")
print(liste)
İki Listeyi (Diziyi) Birleştirmek
donanim=[“yazıcı”, “klavye”, “işlemci”, “bellek”, “sabit disk”]
yazilim=[“işletim sistemi”, “web tarayıcı”]
donanim.extend(yazilim) #burada extend fonksiyonu ile listeler birleştirilmiştir.
print(donanim)
donanim=[“yazıcı”, “klavye”, “işlemci”, “bellek”, “sabit disk”]
yazilim=[“işletim sistemi”, “web tarayıcı”]
print(donanim+yazilim)
+ ile veya , ile Birleştirmek Arasındaki Fark
donanim=[“yazıcı”, “klavye”, “işlemci”, “bellek”, “sabit disk”]
yazilim=[“işletim sistemi”, “web tarayıcı”]
print(donanim,yazilim)
Araya Eleman Eklemek
Eğer dize içerisinde belli bir sıraya değer eklenecekse insert() fonksiyonundan faydalanılır. Fonksiyonda kullanılacak iki parametreden biri kaçıncı sıraya yerleştirileceği, diğeri ise eklenecek değerdir. Eklendiği sıradan daha ileri bir sırada olan değerler bir kaydırılır.
liste = ["elma", "muz", "kiraz"]
liste.insert(1, "kavun")
print(liste)
"blackcurrant" ve "watermelon" değerleriyle "banana" ve "cherry" değerlerini değiştirin:
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "mango"]
thislist[1:3] = ["blackcurrant", "watermelon"]
print(thislist)
Dizeden Bir Değeri Silmek
Bunun için remove() fonksiyonu kullanılır. Parantez içinde silinecek değer belirtilir:
liste = ["elma", "muz", "kiraz", "kavun"]
liste.remove("kavun")
print(liste)
donanim=["yazıcı", "klavye", "işlemci", "bellek", "sabit disk"]
donanim.remove(donanim[1]) #indis numarası 1 olan eleman "klavye" silinmiştir.
print(donanim) #['yazıcı', 'işlemci', 'bellek', 'sabit disk']
Eğer dizenin belli bir sırasındaki nesneyi sileceksek pop() fonksiyonundan faydalanabiliriz. Parantez içinde sıra numarası belirtebiliriz. Eğer hiçbir şey belirtmezsek dizenin en sonundaki nesne silinir.
donanim=["yazıcı", "klavye", "işlemci", "bellek", "sabit disk"]
donanim.pop(3)
print(donanim) #['yazıcı', 'klavye', 'işlemci', 'sabit disk']
Sırası belli bir değer silerken del özelliğinden faydalanabiliriz. Bu ifadeden sonra dizenin adı ve köşeli parantez içinde sırası yazılır.
donanim=[“yazıcı”, “klavye”, “işlemci”, “bellek”, “sabit disk”]
del donanim[2]
print(donanim) # [‘yazıcı’, ‘klavye’, ‘bellek’, ‘sabit disk’]
Yukarıdaki kod çalıştırıldığında "armut" silinecek ve dize "kiraz" ve "çilek" olmak üzere iki elemana düşecektir. del ile tüm dizedeki elemanları temizlemek de mümkün. Bunun için index belirtmemeniz yeterli:
Tüm Listeyi Yok Etmek
meyveler = ["armut", "kiraz", "çilek"]
del meyveler
Clear: Listenin tüm elemanlarını siler ve boş bir liste ortaya çıkarır. Yukarıda belirtilen şekilde kullanıldığında dize tamamen tanımsız (undefined) hale gelir. Eğer aynı zamanda dizeyi bu durumdan korumak istiyorsanız clear() yöntemini kullanabilirsiniz:
meyveler = ["armut", "kiraz", "çilek"]
meyveler.clear();
print(meyveler) #[]
Listeyi Sıralamak
donanim=[“yazıcı”, “klavye”, “işlemci”, “bellek”, “sabit disk”]
donanim.sort()
print(donanim) # [‘bellek’, ‘işlemci’, ‘klavye’, ‘sabit disk’, ‘yazıcı’]
Sıralamanın küçükten büyüğe değil de tam tersi olması için reverse=True parametresi verilebilir. İlgili kod satırını donanim.sort(reverse=True) şeklinde değiştirerek deneyiniz.
Reverse: Listeyi sondan başa doğru yani ters yazar.
donanim=[“yazıcı”, “klavye”, “işlemci”, “bellek”, “sabit disk”]
donanim.reverse()
print(donanim) # [‘sabit disk’, ‘bellek’, ‘işlemci’, ‘klavye’, ‘yazıcı’]
Listeleri Kopyalamak
Bunun için copy() yöntemini kullanabilirsiniz.
donanim=[“yazıcı”, “klavye”, “işlemci”, “bellek”, “sabit disk”]
yeni_donanim=donanim.copy()
print(yeni_donanim) #[‘yazıcı’, ‘klavye’, ‘işlemci’, ‘bellek’, ‘sabit disk’]
Uyarı: Listeleri liste1 = liste2 yazarak kopyalayamazsınız. Çünkü bunu yaparsanız liste1, liste2'nin referansı olacak ve liste2'de yapılan değişiklikler liste1 için de geçerli olacaktır.
Liste kopyalamak için list() sınıfından da faydalanabilirsiniz.
meyveler = ["armut", "kiraz", "çilek"]
yeniliste = list(meyveler)
print(yeniliste)
Listeleri Birleştirmek
Python'da iki veya daha fazla listeyi birleştirmek için bazı yöntemler var. Bunlardan biri artı (+) operatörünü kullanmaktır:
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list3 = list1 + list2
print(list3)
Eğer tek tek değerleri eklemek isterseniz for ile bir listeyi sıralayıp diğerinden append() ile değerler ekleyebilirsiniz:
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
for x in list2:
list1.append(x)
print(list1)
Diğer bir yöntem extend() yöntemini kullanmaktır:
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list1.extend(list2)
print(list1)
İç İçe Diziler Oluşturmak
Kisi = ["Aykut", "Öğretmen", ["111111", "22222", "3333"], ["a@b.com", "d@e.com"]]
print(Kisi[2][1]) #ikinci telefon
print(Kisi[3][0]) #birinci email
print(Kisi[0]); #Adi
list() Sınıfı İle Yeni Liste Oluşturmak
Normalde liste oluştururken dize = ["a", "b" , "c"] yeterlidir. Ancak list() kullanarak da listeler oluşturulabilir. Aşağıda buna bir örnek var:
meyveler = list(("elma", "muz", "kiraz")) # dikkat! parantezler köşeli değil
print(meyveler)
Python Tuple
Python'daki liste türlerinden bir diğeri tuple dir. Bir önceki derste anlatılan list'ten farklı olarak değiştirilemez, ilk tanımlandığı şekilde kalır. Bu dizelere ekleme, silme, sıra (index) değiştirme işlemi de yapılamaz.
İlk tanımlama yapılırken tuple nesnelerine parantez içinde yer verilir.
ornekTuple = ("muz", "elma", "kiraz")
print(ornekTuple)
Bir önceki dersimizde list için anlattığımız tüm özellikler (nesnelere erişim, tersten erişim, aralık belirtme vb.) bu tür için de geçerlidir. Makalenin diğer kısımlarında list'ten farklı yanları açıklanacaktır.
Tuple Değerleri Değiştirmek
Yukarıda bahsedildiği gibi tuple içindeki değerler değiştirilemez. Bu tarz bir işlem yapmak için öncelikle tuple list türüne dönüştürülmeli, ardından değişiklik yapıldıktan sonra yeni bir tuple oluşturulmalıdır:
x = ("muz", "elma", "kiraz")
y = list(x)
y[1] = "kiwi"
x = tuple(y)
print(x)
Örnek kodu yorumlamak istersek; x adlı tuple y adlı listeye dönüştürülmüş. Ardından 1. eleman "kiwi" olarak değiştirilmiş. Sonra liste tekrar tuple türüne dönüştürülmüş.
Tek Elemanlı Tuple Oluşturmak
Eğer tuple türü dizemiz içinde tek bir eleman olacaksa tanımlarken ilk nesneden sonra virgül kullanılmalıdır. Bu kullanılmazsa string türde bir değişken elde edilmiş olur.#Bir tuple:
thistuple = ("elma",)
print(type(thistuple))
#Bir tuple degil, bir string:
thistuple = ("elma")
print(type(thistuple))
Birden Fazla Tuple Birleştirmek
Bu işlem için iki tuple artı (+) işareti ile toplanarak her iki dizeyi içeren yeni bir tuple elde edilebilir.
tuple1 = ("a", "b" , "c")
tuple2 = (1, 2, 3)
tuple3 = tuple1 + tuple2
print(tuple3)
Yapıcı (Constructor) Kullanarak Tuple Oluşturmak
Alışılagelmiş ("a", "b" , "c") yapısı yerine tuple() nesnesini kullanarak tuple oluşturulabilir.
ornekTuple = tuple(("elma", "muz", "kiraz")) # iki parantezli olduğunu unutmayın
print(ornekTuple)
NOT: tuple'ın eleman sayısını elde etmek için len() fonksiyonu kullanılabilir.
Python Set
Python'da set yine bir dize türüdür. Bu türün özelliği sıralanamaz olmasıdır. Set, bir veri yığınıdır. Ancak bu verilere erişim sıra (index) yoluyla sağlanamamaktadır.
Bir set tanımlarken küme parantezi kullanılır.
ornekSet = {"elma", "muz", "kiraz"}
print(ornekSet)
Python List için geçerli özelliklerin çoğu set için de geçerlidir. Aşağıda set'in list'ten farklı yanları belirtilmiştir:
Nesnelere Erişmek
UYARI: set sıralanamaz olduğu için hangi elemanın hangi sırada olduğu asla bilinemez ve sıra numarası yazılarak elde edilemez.
Ancak for döngüsü ile nesneleri tek tek kontrol edebilir;
ornekSet = {"elma", "muz", "kiraz"}
for x in ornekSet:
print(x)
Ya da in sorgusu ile dizede aradığınız değer olup olmadığı öğrenilebilir:
ornekSet = {"elma", "muz", "kiraz"}
print("muz" in ornekSet)
Set Türü Dizelere Nesne Eklemek
set yığınına veri eklemek için add(nesne) özelliğinden faydalanabilirsiniz:
ornekSet = {"elma", "muz", "kiraz"}
ornekSet.add("portakal")
print(ornekSet)
Birden fazla nesne eklemek için update([nesneler]) özelliğinden faydalanabilirsiniz:
ornekSet = {"elma", "muz", "kiraz"}
ornekSet.update(["portakal", "mango", "üzüm"])
print(ornekSet)
Set Türü Dizelerden Nesne Silmek
Var olan bir elemanı, set yığınından silmek istiyorsak remove(nesne) özelliğini kullanabiliriz:
ornekSet = {"elma", "muz", "kiraz"}
ornekSet.remove("elma")
print(ornekSet)
Eğer silmek istediğimiz nesne yoksa remove() özelliği hata verecektir. Bu nedenle nesnenin dizede olup olmadığından emin değilsek remove() yerine discard() kullanmalıyız:
ornekSet = {"elma", "muz", "kiraz"}
ornekSet.discard("portakal")
print(ornekSet)
pop() özelliğini kullanarak set içindeki son nesne silinebilir. Ancak set'in sıralanamaz olduğunu unutmayın. Yani sildiğiniz nesnenin ne olduğunu bilemezsiniz.
ornekSet = {"elma", "muz", "kiraz"}
ornekSet.pop()
print(ornekSet)
Set içindeki nesneleri temizlemek için clear(), set'i tamamen kaldırmak ve tanımsız hale getirmek için del kullanılabilir:
ornekSet = {"apple", "banana", "cherry"}
ornekSet.clear() # tüm nesneleri siler
print(ornekSet) #hata vermez
del ornekSet # tanımsız hale getirir
print(ornekSet) #hata verir
Set Türü Dizeleri Birleştirmek
union() özelliği ile iki set birleştirilerek yeni bir set oluşturulabilir:
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)
print(set3)
update() özelliği ile bir set içine başka bir set'in değerlerini ekleyebiliriz. Bu durumda yeni bir set oluşmaz. Aşağıdaki örnekte set1'in içine set2'nin nesneleri eklenecektir:
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set1.update(set2)
print(set1)
Yapıcı (Constructor) Kullanarak Set Oluşturmak
Set oluştururken { 1, 2, 3 } şeklinde belirtmek yerine set'in yapıcısını kullanabilirsiniz:
ornekset = set(("elma", "muz", "kiraz")) # çift parantezli
print(ornekset)
NOT: set'in eleman sayısını elde etmek için len() fonksiyonu kullanılabilir.
Python Dict
Python'da dict, ingilizcede sözlük anlamına gelen dictionary'nin kısaltması ile oluşturulmuş bir veriler topluluğudur (dize). Sıralanamaz ancak değiştirilebilir ve anahtarlarla çağırılabilir. Python'da dict oluştururken küme parantezi kullanılır ve her veri bir anahtar ve değerden oluşur. Bu veriler anahtar: değer şeklinde yazılır. Ayrıca veriler arasında mutlaka virgül kullanılır.
sozluk = {
"uretici": "Renault",
"model": "Clio",
"yil": 2009
}
print(sozluk)
Dict İçerisindeki Verilere Erişmek
Sözlük içindeki nesnelere veri anahtar adını köşeli parantez arasında yazarak erişebilirsiniz:
x = sozluk["model"]
Ayrıca get() özelliğini kullanarak da veriye erişebilirsiniz.
x = sozluk.get("model")
Dict İçindeki Değerleri Değiştirmek
Dize içindeki bir nesnenin değerini köşeli parantez arasında referans anahtarını belirtip değiştirebilirsiniz:
otomobil = {
"uretici": "Renault",
"model": "Clio",
"yil": 2009
}
otomobil["yil"] = 2020;
print(otomobil);
Dict İçerisinde Bulunan Tüm Nesneleri Yazdırmak
Sözlüğümüz içindeki tüm anahtar ve değerleri for döngüsü ile tek tek ele alabiliriz. Dönen değer anahtar adı olacaktır. Ancak anahtardaki veriyi de almanın yöntemi var. Şimdi örnekler üzerinden nesneleri nasıl yazdıracağımıza bakalım:
kisi = {
"Adi": "Murat",
"Soyadi": "Elicaliskan",
"Yas": 37
}
for x in kisi:
print(x)
Yukarıdaki kod çalıştırıldığı zaman ekrana "Adi", "Soyadi" ve "Yas" anahtarlarının döndüğü görülecektir.
kisi = {
"Adi": "Murat",
"Soyadi": "Elicaliskan",
"Yas": 37
}
for x in kisi:
print(kisi[x])
Yukarıdaki örnek çalıştırıldığında bu kez "Murat", "Elicaliskan" ve 37 şeklinde anahtarların değil de değerlerin ekrana yazdırıldığını görürüz.
kisi = {
"Adi": "Murat",
"Soyadi": "Elicaliskan",
"Yas": 37
}
for x in kisi.values():
print(x)
Bu örnekte yine verileri elde ettik. Bu kez dict'in values() özelliği ile değerleri çağırıp x değişkenine yükledik ve tek tek yazdırdık.
kisi = {
"Adi": "Murat",
"Soyadi": "Elicaliskan",
"Yas": 37
}
for x, y in kisi.items():
print(x, y)
Son örnekte hem anahtarları hem değerleri birlikte yazdırdık. Bunun için for döngüsünden sonra x, y kullandık ve dict'in items() özelliğini çağırdık.
Bir Anahtarın Olup Olmadığını Kontrol Etmek
Bunun için "anahtar" in dict yapısını kullanabiliriz.
otomobil = {
"uretici": "Ford",
"model": "Mustang",
"yil": 1964
}
if "model" in otomobil:
print("Evet; model, otomobil sözlüğünün bir anahtarıdır")
Sözlüğe Yeni Anahtar Eklemek
dict türü bir nesne içine yeni bir anahtar ve buna karşılık gelen veriyi eklemek için değişken adından hemen sonra köşeli parantez içinde yeni anahtar ve eşittirden sonra değerin yazılması yeterlidir.
gunler = {
"Pazartesi": 1,
"Salı": 2,
"Çarşamba": 3
}
gunler["Perşembe"] = 4
print(gunler)
Bir Anahtarı Silmek
dict içerisindeki bir anahtarı silmek için pop(anahtar) yapısını kullanırız:
haftaici = {
"Pazartesi": 1,
"Salı": 2,
"Çarşamba": 3,
"Perşembe": 4,
"Cuma": 5,
"Cumartesi": 6
}
haftaici.pop("Cumartesi")
print(haftaici)
Son eklenen nesneyi silmek istiyorsan popitem() özelliğini kullanabiliriz.
Bir anahtarı silmek için del metodu da kullanılabilir:
haftaici = {
"Pazartesi": 1,
"Salı": 2,
"Çarşamba": 3,
"Perşembe": 4,
"Cuma": 5,
"Cumartesi": 6
}
del haftaici["Cumartesi"]
print(haftaici)
del kullandıktan sonra anahtar belirtmeyip dict adı yazılırsa tüm veriler silinir ve değişken tanımsız (undefined) bir ifade olur.
haftaici = {
"Pazartesi": 1,
"Salı": 2,
"Çarşamba": 3,
"Perşembe": 4,
"Cuma": 5,
"Cumartesi": 6
}
del haftaici
print(haftaici) # hata verir
Eğer bu şekilde sözlük değişkeninin tanımsız bir duruma düşmesini istemiyorsak, sözlük içindeki tüm anahtarları silmek için clear() özelliğini kullanmalıyız.
haftaici = {
"Pazartesi": 1,
"Salı": 2,
"Çarşamba": 3,
"Perşembe": 4,
"Cuma": 5,
"Cumartesi": 6
}
haftaici.clear()
print(haftaici)
Sözlüğü Kopyalamak
Basit bir şekilde dict1 = dict2 yazarak sözlük kopyalanamaz. Eğer bir sözlüğün aynısından elde etmek istiyorsan copy() özelliğini kullanmalıyız.
kisi = {
"Adi": "Murat",
"Soyadi": "Elicaliskan",
"Yas": 37
}
yenikisi = kisi.copy()
print(yenikisi)
Ayrıca dict nesnesinin yapıcı (constructor) özelliğini kullanarak da bir sözlük başka bir değişkene kopyalanabilir:
kisi = {
"Adi": "Murat",
"Soyadi": "Elicaliskan",
"Yas": 37
}
yenikisi = dict(kisi)
print(yenikisi)
İç İçe Sözlükler
Bir sözlük (dict) içerisinde başka sözlükler kullanabiliriz. Bunu örnek üzerinden anlatalım:
kisiler = {
"murat": {
"Adi": "Murat",
"Soyadi": "Elicaliskan"
},
"yasemin": {
"Adi": "Yasemin",
"Soyadi": "Deha"
}
}
print(kisiler)
Ya da tek tek sözlükler oluşturup bunları tek bir sözlük içinde yazabiliriz:
murat = {
"Adi": "Murat",
"Soyadi": "Elicaliskan"
}
yasemin = {
"Adi": "Yasemin",
"Soyadi": "Deha"
}
kisiler = {
"murat": murat,
"yasemin": yasemin
}
print(kisiler)
dict Yapıcı (Constructor) Metodu
Sözlük oluşturmak için {"anahtar1":"deger1", "anahtar2":"deger2"} şeklinde kullanmak yerine doğrudan dict nesnesi yaratmamızı sağlayacak yapıcı metodu kullanabiliriz.
otomobil = dict(uretici="Ford", model="Mustang", yil=1964)
print(otomobil)
Bu şekilde sözlükler oluştururken şu iki noktaya dikkat edin: 1- anahtarlar tırnak işaretleri arasında yazılmıyor. 2- iki nokta yerine eşittir kullanılıyor.
NOT: dict'in anahtar sayısını elde etmek için len() fonksiyonu kullanılabilir.
Kaynak
- https://python.sitesi.web.tr/python-dizeler.html
- https://python.sitesi.web.tr/python-set.html
- https://python.sitesi.web.tr/python-dict.html