Python Sözlükler

  • Konbuyu başlatan Konbuyu başlatan Hüseyin
  • Başlangıç tarihi Başlangıç tarihi

Hüseyin

Üye
Top Poster Of Month
Katılım
21 Ocak 2024
Mesajlar
164
Tepkime puanı
36
Puanları
28
Sözlükler

Sözlük, sıralanmamış, değiştirilebilir (mutable) eşleştirilmiş (anahtar: değer) veri tipi koleksiyonudur.

Sözlük Oluşturma

Bir sözlük oluşturmak için küme parantezleri, {} veya dict() yerleşik işlevini kullanırız.
Python:
# syntax
empty_dict = {}
# Veri değerleri içeren sözlük
dct = {'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4'}


Örnek:
Python:
person = {
    'first_name':'PwnLabMe',
    'last_name':'Cyber',
    'age':3,
    'country':'Turkiye',
    'is_marred':True,
    'skills':['JavaScript', 'React', 'Node', 'MongoDB', 'Python'],
    'address':{
        'street':'X street',
        'zipcode':'06530'
    }
    }

Yukarıdaki sözlük, bir değerin herhangi bir veri türü olabileceğini gösterir: string, boolean, liste, tuple, set veya bir dictionary.

Sözlük Uzunluğu

Sözlükteki ''key: value'' çiftlerinin sayısını kontrol eder.

Python:
# syntax
dct = {'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4'}
print(len(dct)) # 4

Örnek:
Python:
person = {
    'first_name':'PwnLabMe',
    'last_name':'Cyber',
    'age':3,
    'country':'Turkiye',
    'is_married':True,
    'skills':['JavaScript', 'React', 'Node', 'MongoDB', 'Python'],
    'address':{
        'street':'X street',
        'zipcode':'06530'
    }
    }
print(len(person)) # 7


Sözlük Öğelerine Erişme

Sözlük öğelerine anahtar adına başvurarak erişebiliriz.
Python:
# syntax
dct = {'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4'}
print(dct['key1']) # value1
print(dct['key4']) # value4

Örnek:

Python:
person = {
    'first_name':'PwnLabMe',
    'last_name':'Cyber',
    'age':3,
    'country':'Turkiye',
    'is_marred':True,
    'skills':['JavaScript', 'React', 'Node', 'MongoDB', 'Python'],
    'address':{
        'street':'X street',
        'zipcode':'06530'
    }
    }
print(person['first_name']) # PwnLabMe
print(person['country'])    # Turkiye
print(person['skills'])     # ['JavaScript', 'React', 'Node', 'MongoDB', 'Python']
print(person['skills'][0])  # JavaScript
print(person['address']['street']) # X street
print(person['city'])       # Error


Bir öğeye anahtar adıyla erişmek, anahtar mevcut değilse bir hataya neden olur. Bu hatadan kaçınmak için önce bir anahtarın var olup olmadığını kontrol etmeliyiz veya get yöntemini kullanabiliriz. Eğer anahtar mevcut değilse get metodu NoneType nesne veri tipi olan None değerini döndürür.




Python:
person = {
'first_name':'PwnLabMe',
'last_name':'Cyber',
'age':3,
'country':'Turkiye',
'is_marred':True,
'skills':['JavaScript', 'React', 'Node', 'MongoDB', 'Python'],
'address':{
'street':'X street',
'zipcode':'06530'
}
}
print(person.get('first_name')) # PwnLabMe
print(person.get('country'))    # Turkiye
print(person.get('skills')) #['HTML','CSS','JavaScript', 'React', 'Node', 'MongoDB', 'Python']
print(person.get('city'))   # None


Sözlüğe Öğeler Ekleme

Bir sözlüğe yeni anahtar ve değer çiftleri ekleyebiliriz
Python:
# syntax
dct = {'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4'}
dct['key5'] = 'value5'


Örnek:
Python:
person = {
    'first_name':'PwnLabMe',
    'last_name':'Cyber',
    'age':3,
    'country':'Turkiye',
    'is_marred':True,
    'skills':['JavaScript', 'React', 'Node', 'MongoDB', 'Python'],
    'address':{
        'street':'X street',
        'zipcode':'06530'
        }
}
person['job_title'] = 'Instructor'
person['skills'].append('HTML')
print(person)

Sözlükteki Öğeleri Değiştirme

Sözlükteki öğeleri değiştirebiliriz
Python:
# syntax
dct = {'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4'}
dct['key1'] = 'value-one'

Örnek:

Python:
person = {
    'first_name':'PwnLabMe',
    'last_name':'Cyber',
    'age':3,
    'country':'Turkiye',
    'is_marred':True,
    'skills':['JavaScript', 'React', 'Node', 'MongoDB', 'Python'],
    'address':{
        'street':'X street',
        'zipcode':'06530'
    }
    }
person['first_name'] = 'Eyob'
person['age'] = 3

Sözlükteki Anahtarları Kontrol Etme

Bir anahtarın sözlükte var olup olmadığını kontrol etmek için in operatörünü kullanırız

Python:
# syntax
dct = {'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4'}
print('key2' in dct) # True
print('key5' in dct) # False

Sözlükten Anahtar ve Değer Çiftlerini Kaldırma

pop(key): belirtilen anahtar adına sahip öğeyi kaldırır:
popitem(): son öğeyi kaldırır
del: belirtilen anahtar adına sahip bir öğeyi kaldırır
Python:
# syntax
dct = {'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4'}
dct.pop('key1') # removes key1 item
dct = {'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4'}
dct.popitem() # removes the last item
del dct['key2'] # removes key2 item

Örnek:

Python:
person = {
    'first_name':'Asabeneh',
    'last_name':'Cyber',
    'age':3,
    'country':'Turkiye',
    'is_marred':True,
    'skills':['JavaScript', 'React', 'Node', 'MongoDB', 'Python'],
    'address':{
        'street':'X street',
        'zipcode':'06530'
    }
    }
person.pop('first_name')        # Firstname öğesini kaldırır
person.popitem()                # Adres öğesini kaldırır
del person['is_married']        # is_married öğesini kaldırır

Sözlüğü Öğeler Listesine Değiştirme

items() yöntemi, sözlüğü bir tuple listesine dönüştürür.
Python:
# syntax
dct = {'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4'}
print(dct.items()) # dict_items([('key1', 'value1'), ('key2', 'value2'), ('key3', 'value3'), ('key4', 'value4')])

Sözlük Temizleme

Bir sözlükteki öğeleri istemiyorsak clear() yöntemini kullanarak onları temizleyebiliriz
Python:
# syntax
dct = {'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4'}
print(dct.clear()) # None

Sözlük Silme

Eğer sözlüğü kullanmayacaksak tamamen silebiliriz
Python:
# syntax
dct = {'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4'}
del dct


Sözlük Kopyalama

Bir copy() metodunu kullanarak bir sözlüğü kopyalayabiliriz. Copy kullanarak orijinal sözlüğün mutasyonunu önleyebiliriz.

Python:
# syntax
dct = {'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4'}
dct_copy = dct.copy() # {'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4'}

Sözlük Anahtarlarını Liste Olarak Alma

keys()
yöntemi bize bir sözlüğün tüm anahtarlarını bir liste olarak verir.
Python:
# syntax
dct = {'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4'}
keys = dct.keys()
print(keys)     # dict_keys(['key1', 'key2', 'key3', 'key4'])


Sözlük Değerlerini Liste Olarak Alma

values
yöntemi bize bir sözlüğün tüm değerlerini bir liste olarak verir.
Python:
# syntax
dct = {'key1':'value1', 'key2':'value2', 'key3':'value3', 'key4':'value4'}
values = dct.values()
print(values)     # dict_values(['value1', 'value2', 'value3', 'value4'])
 
Geri
Üst