Python rječnik fromkeys ()

Metoda fromkeys () kreira novi rječnik od zadanog niza elemenata s vrijednošću koju daje korisnik.

Sintaksa fromkeys()metode je:

 dictionary.fromkeys (slijed (, vrijednost))

parametri fromkeys ()

fromkeys() metoda uzima dva parametra:

  • slijed - slijed elemenata koji će se koristiti kao ključevi za novi rječnik
  • vrijednost (Izborno) - vrijednost koja se postavlja za svaki pojedini element rječnika

Povratna vrijednost iz ključeva from)

fromkeys() metoda vraća novi rječnik s danim redoslijedom elemenata kao ključevima rječnika.

Ako je postavljen argument vrijednosti, svaki je element novostvorenog rječnika postavljen na navedenu vrijednost.

Primjer 1: Stvorite rječnik od niza ključeva

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

Izlaz

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

Primjer 2: Stvorite rječnik od niza ključeva s vrijednošću

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

Izlaz

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

Primjer 3: Stvorite rječnik od popisa promjenjivih objekata

 # 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)

Izlaz

 ('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)) 

Ako je vrijednost promjenjivi objekt (čija se vrijednost može mijenjati) poput popisa, rječnika itd., Kada se promjenjivi objekt mijenja, svaki se element sekvence također ažurira.

To je zato što je svakom elementu dodijeljena referenca na isti objekt (usmjerava na isti objekt u memoriji).

Da bismo izbjegli ovaj problem, koristimo se razumijevanjem rječnika.

 # 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)

Izlaz

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

Ovdje se za svaki ključ u ključevima kreira novi popis vrijednosti koji mu se dodjeljuje.

U osnovi, vrijednost nije dodijeljena elementu, već se od njega stvara novi popis koji se zatim dodjeljuje svakom elementu u rječniku.

Zanimljivi članci...