Slovník Python fromkeys ()

Metóda fromkeys () vytvorí nový slovník z danej postupnosti prvkov s hodnotou poskytnutou používateľom.

Syntax fromkeys()metódy je:

 dictionary.fromkeys (sequence (, value))

fromkeys () parametre

fromkeys() metóda má dva parametre:

  • sekvencia - postupnosť prvkov, ktorá sa má použiť ako kľúče pre nový slovník
  • hodnota (voliteľné) - hodnota nastavená pre každý prvok slovníka

Vrátená hodnota z fromkeys ()

fromkeys() metóda vráti nový slovník s danou postupnosťou prvkov ako klávesmi slovníka.

Ak je nastavený argument hodnoty, každý prvok novovytvoreného slovníka sa nastaví na zadanú hodnotu.

Príklad 1: Vytvorte slovník zo sekvencie klávesov

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

Výkon

 („a“: Žiadne, „u“: Žiadne, „o“: Žiadne, „e“: Žiadne, „i“: Žiadne) 

Príklad 2: Vytvorte slovník zo sekvencie klávesov s hodnotou

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

Výkon

 ('a': 'samohláska', 'u': 'samohláska', 'o': 'samohláska', 'e': 'samohláska', 'i': 'samohláska') 

Príklad 3: Vytvorte slovník zo zoznamu premenlivých objektov

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

Výkon

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

Ak je hodnotou zmeniteľný objekt (ktorého hodnotu je možné zmeniť), ako je napríklad zoznam, slovník atď., Pri zmene premenlivého objektu sa aktualizuje aj každý prvok sekvencie.

Je to tak preto, lebo každému prvku je priradený odkaz na ten istý objekt (smeruje k rovnakému objektu v pamäti).

Aby sme sa vyhli tomuto problému, používame slovníkové porozumenie.

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

Výkon

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

Tu sa pre každý kľúč v kľúčoch vytvorí a priradí sa im nový zoznam z hodnoty.

Hodnota v podstate nie je priradená prvku, ale je z neho vytvorený nový zoznam, ktorý je potom priradený každému prvku v slovníku.

Zaujímavé články...