Python slovar fromkeys ()

Metoda fromkeys () ustvari nov slovar iz danega zaporedja elementov z vrednostjo, ki jo navede uporabnik.

Sintaksa fromkeys()metode je:

 dictionary.fromkeys (zaporedje (, vrednost))

parametri fromkeys ()

fromkeys() metoda ima dva parametra:

  • zaporedje - zaporedje elementov, ki bo uporabljeno kot ključ novega slovarja
  • vrednost (Izbirno) - vrednost, ki je nastavljena za vsak element slovarja

Vrnjena vrednost iz tipk from)

fromkeys() metoda vrne nov slovar z danim zaporedjem elementov kot ključi slovarja.

Če je nastavljen argument vrednosti, je vsak element novo ustvarjenega slovarja nastavljen na določeno vrednost.

Primer 1: Ustvari slovar iz zaporedja tipk

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

Izhod

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

2. primer: Ustvarite slovar iz zaporedja tipk z vrednostjo

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

Izhod

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

Primer 3: Ustvarite slovar s seznama spremenljivih predmetov

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

Izhod

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

Če je vrednost spremenljiv objekt (katerega vrednost je mogoče spremeniti), na primer seznam, slovar itd., Se ob spremembi spremenljivega predmeta posodobi tudi vsak element zaporedja.

To je zato, ker je vsakemu elementu dodeljena referenca na isti predmet (kaže na isti predmet v pomnilniku).

Da bi se izognili tej težavi, uporabljamo razumevanje slovarja.

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

Izhod

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

Tu se za vsak ključ v ključih ustvari nov seznam vrednosti, ki mu je dodeljen.

V bistvu vrednost elementu ni dodeljena, temveč se iz njega ustvari nov seznam, ki se nato dodeli vsakemu elementu v slovarju.

Zanimive Članki...