Bazen verilen tuşlardan bir sözlük oluşturmak gerekli hale gelir. Kabaca bunu yapmak zaman alacak ve daha sıkıcı bir iş olacaktır. Bu nedenle, fromkeys() bu sorunu tek bir yöntemle kolayca çözmemize yardımcı olur. Bu makale, bu özellikle ilişkili operasyonel ve diğer yönleri açıklamaktadır.
Sözdizimi: fromkeys (seq, val)
Parametreler:
seq: Sözlüğe dönüştürülecek dizi.
val: Oluşturulan anahtarlara atanması gereken ilk değerler ... Varsayılan olarak Yoktur.Döndürür: Hiçbir değer sağlanmazsa Yok ile, aksi takdirde alanda sağlanan değerle eşlenen anahtarlara sahip bir sözlük.
Kod # 1: Anahtarların gösterimi ()
# Python 3 demo kodu
# tuşlarla çalışma ()
# başlatma sırası
< kod sınıfı = "düz"> sıra ,
’ b’
,
’c’
,
’ d’
,
’e’
}
# diziyi dict’e dönüştürmek için fromkeys () kullanarak
# Yok kullanarak başlat
res_dict
=
dict
# Yazdır dict oluşturuldu
(
"Yok değerleriyle yeni oluşturulan dict:"
+
# diziyi dict biçimine dönüştürmek için fromkeys () kullanarak
# 1 ile başlat
< kod sınıfı = "düz"> res_dict 2
+
str
(res_dict2))
Çıkış : güçlü>
Yok değerleriyle yeni oluşturulan dikte: {’d’: Yok, ’a’: Yok, ’b’: Yok, ’c’: Yok, ’e ’: Yok }
< /blockquote>
Değer olarak 1 ile yeni oluşturulan dict: {’ d ’: 1,’ a ’: 1,’ b ’: 1,’ c ’: 1,’ e ’: 1}Değişken nesnelerle değer olarak fromdict () davranışı:
fromdict () işlevi, varsayılan değerler olarak çok yönlü bir nesneyle de sağlanabilir. Ancak bu durumda sözlükten derin bir kopya oluşturulur, yani orijinal listeye bir değer eklersek, ekleme tüm anahtar değerlerde gerçekleşir.
Önleme: Orijinal listeyi anahtar değerler olarak göstermeyen anahtar değerler olarak yeni bir liste oluşturmak için belirli sözlük anlama teknikleri kullanılabilir.
Kod # 2: Değişken nesnelerle davranış gösterin.
< td class = "code">
# Python 3 demo kodu
# değiştirilebilir nesnelerle davranış
p>
# dizi ve liste başlatma
sıra = {
’a’
,
’ b’
,
’c’
,
’d’
,
’ e’
}
lis1
=
[
2 , 3 ]
# diziyi dict biçimine dönüştürmek için fromkeys() kullanarak
# normal yöntemi kullanarak
res_dict
=
dikte . fromkeys (seq, lis1)
# Print oluşturulan dict
yazdır
(
"Liste değerleriyle yeni oluşturulan dict:"
+
str
(res_dict))
< br />
# lis1’e ekle
lis1.append ( 4 )
# Ekledikten sonra diktat yazdır
# Eklemenin tüm değerlerde gerçekleştiğine dikkat edin
(
" Ekledikten sonra liste değerlerini içeren dict: "
< kod sınıfı = "anahtar kelime"> +
str (res_dict) )
lis1
=
[
2
,
3 ]
yazdır ( ’’ )
# diziyi dict’e dönüştürmek için fromkeys () kullanarak
# dict kullanarak. anlama
res_dict2
=
{key:
liste
(lis1)
için
anahtar
in
seq}
# Oluşturulan dikteyi yazdır
yazdır ( " Liste değerleriyle yeni oluşturulan dict: "
< kod sınıfı = "anahtar kelime"> +
str (res_dict2))
# lis1’e ekle
lis1.append ( 4 )
# Ekledikten sonra diktatı yazdır
# Eklemenin şu anda yapılmadığını unutmayın.
(
" Listeli dict ekledikten sonraki değerler (değişiklik yok): "
+
str
(res_dict2))
Çıktı: güçlü>
Liste değerleriyle yeni oluşturulan dikte: {’d’: [2, 3], ’e’: [2, 3], ’c’: [2, 3] , ’a’: [2, 3], ’b’: [2, 3]}
Ekledikten sonra liste değerlerini içeren dict: {’d’: [2, 3, 4], ’e’: [2, 3, 4], ’c’: [2, 3, 4], ’a’: [2, 3, 4], ’b’: [2, 3, 4] }Liste değerleriyle yeni oluşturulan dikte: {’d’: [2, 3], ’e’: [2, 3], ’c’: [2, 3], ’a’ : [2, 3], ’b’: [2, 3]}
Ekledikten sonra liste değerlerini içeren dict (değişiklik yok): {’d’: [2, 3], ’e’: [2, 3], ’c’ : [2, 3], ’a’: [2, 3], ’b’: [2, 3]}