Sizce aşağıdaki Reeborg için iyi bir tanımlama mı?
robot: İnsanlar tarafından kontrol edilen ve kendisine verilen görevleri
otomatik olarak yerine getiren bir makine, daha çok tekrarlayan işler için
kullanılır.
Bir hikaye yazmak istediğiniz zaman, sözlükten bir kelimenin anlamına nasıl bakılacağını bilmek işinize çok yarayacaktır. Python'un da kendine özgü bir sözlüğü vardır ve program yazarken işinize çok yarar.
Malzeme listesine bakmadan kaç tane yumurtaya ihtiyaç olduğunu hatırlayabilir misiniz? Eğer hatırlayamadıysanız, listenin tamamını yazdırmadan bunu bulabilir misiniz? Listede malzemelerin hangi sırayla yazıldığını hatırlamıyorsanız bu da size zor gelecektir. Python'da bu tür durumlarda sözlükler (dictionaries) kullanılır, aşağıdaki örneği inceleyin:
>>> malzemeler2 = { 'yumurta' : 4, # ='den sonra kıvrımlı parantez kullanıldığına dikkat edin ... 'şeker': '100 g', ... 'kakao': '30 g', ... 'çukulata': '250 g'} # burada da kıvrımlı parantez kullanılır. >>> print malzemeler2 {'yumurta': 4, 'çukulata': '250 g', 'kakao': '30 g', 'şeker': '100 g'}
Sözlükteki her bir giriş "anahtar:değer" şeklindedir ve elemanlar birbirlerinden virgül ile ayrılırlar. print ile malzemeler2 yazdırıldığında sıralamanın, girişteki sıralamadan farklı olduğuna dikkat edin.
Eğer kaç tane yumurtaya ihtiyaç olduğunu bulmak istersek:
>>> print malzemeler2['yumurta']
4
Eğer malzemeler2'nin içindeki tüm değerleri bulmak istersek:
>>> for anahtar in malzemeler2: ... print malzemeler2[anahtar] ... 4 250 g 30 g 100 g
Hem anahtarları, hem de değerleri aşağıdaki gibi görüntüleyebiliriz:
>>> for anahtar in malzemeler2: ... print str(anahtar) + ":" + str(malzemeler2[anahtar]) yumurta:4 çukulata:250 g kakao:30 g şeker:100 g
Burada herhangi bir nesneyi stringe dönüştüren str()fonksiyonunu kullandık, böylece yukarıdaki görüntüyü elde ettik.
Olamaz, kremayı eklemeyi yine unuttuk, hadi ekleyelim:
>>> malzemeler2["krema"] = "Çok miktarda"
Deneyin!
Sözlüklerde herhangi bir nesneyi değer olarak kullanabiliriz, ancak bu durum anahtarlar için farklıdır, anahtarlar yalnızca sabit nesnelerden oluşmalıdır. Bunun ne anlama geldiğini daha sonra açıklayacağım; şimdilik şu ana kadar gördüğümüz nesnelerin içerisinde yalnızca string ve sayıların anahtar olarak kullanabileceğini söyleyebiliriz. Listeler veya diğer sözlükler anahtar olarak kullanılamazlar. Bu nesneleri farklı kombinasyonlarda, anahtar ve değer olarak, kullanarak denemeler yapın ve konuyu daha iyi anlamaya çalışın.
Sözlükten bir girdinin nasıl silinebileceğini tahmin edebiliyor musunuz? Tahmin edebiliyorsanız, deneyin. Tahmin edemiyorsanız, büyük olasılıkla bir önceki dersi dikkatle çalışmadınız demektir. Geriye dönün ve tekrar okuyun, özellikle bir listeden bir elemanın nasıl silindiğini anlatan kısmı.