Python Sözlüğü anahtarlardan ()

Fromkeys () yöntemi, kullanıcı tarafından sağlanan bir değerle verilen öğe dizisinden yeni bir sözlük oluşturur.

fromkeys()Yöntemin sözdizimi şöyledir:

 dictionary.fromkeys (sıra (, değer))

fromkeys () Parametreler

fromkeys() yöntem iki parametre alır:

  • sıra - yeni sözlüğün anahtarları olarak kullanılacak öğeler dizisi
  • değer (İsteğe bağlı) - sözlüğün her bir öğesi için ayarlanan değer

Anahtarlardan dönüş değeri ()

fromkeys() yöntem, sözlüğün anahtarları olarak verilen öğe sırasına sahip yeni bir sözlük döndürür.

Değer bağımsız değişkeni ayarlanmışsa, yeni oluşturulan sözlüğün her bir öğesi sağlanan değere ayarlanır.

Örnek 1: Bir dizi tuştan bir sözlük oluşturun

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) vowels = dict.fromkeys(keys) print(vowels)

Çıktı

 ('a': Yok, 'u': Yok, 'o': Yok, 'e': Yok, 'i': Yok) 

Örnek 2: Değer içeren bir dizi tuştan bir sözlük oluşturun

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) value = 'vowel' vowels = dict.fromkeys(keys, value) print(vowels)

Çıktı

 ('a': 'sesli', 'u': 'sesli', 'o': 'sesli', 'e': 'sesli', 'i': 'sesli') 

Örnek 3: Değiştirilebilir nesne listesinden bir sözlük oluşturun

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) value = (1) vowels = dict.fromkeys(keys, value) print(vowels) # updating the value value.append(2) print(vowels)

Çıktı

 ('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1)) ('a': (1, 2 ), 'u': (1, 2), 'o': (1, 2), 'e': (1, 2), 'i': (1, 2)) 

Değer, liste, sözlük vb. Gibi değiştirilebilir bir nesneyse (değeri değiştirilebilir), değiştirilebilir nesne değiştirildiğinde, dizinin her bir öğesi de güncellenir.

Bunun nedeni, her öğeye aynı nesneye bir referans atanmasıdır (bellekteki aynı nesneyi işaret eder).

Bu sorunu önlemek için sözlük anlayışını kullanıyoruz.

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) value = (1) vowels = ( key : list(value) for key in keys ) # you can also use ( key : value(:) for key in keys ) print(vowels) # updating the value value.append(2) print(vowels)

Çıktı

 ('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1)) ('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1)) 

Burada, anahtarlardaki her tuş için, değerden yeni bir liste oluşturulur ve ona atanır.

Temelde, öğeye değer atanmaz, ancak ondan yeni bir liste oluşturulur ve bu liste daha sonra sözlükteki her öğeye atanır.

Ilginç makaleler...