Fromkeys () -metoden opretter en ny ordbog fra den givne rækkefølge af elementer med en værdi, der leveres af brugeren.
Syntaksen for fromkeys()
metoden er:
dictionary.fromkeys (sekvens (, værdi))
fromkeys () Parametre
fromkeys()
metoden tager to parametre:
- sekvens - rækkefølge af elementer, der skal bruges som nøgler til den nye ordbog
- værdi (Valgfri) - værdi, der indstilles til hvert enkelt element i ordbogen
Returneringsværdi fra fromkeys ()
fromkeys()
metode returnerer en ny ordbog med den givne rækkefølge af elementer som nøglerne til ordbogen.
Hvis værdiorgumentet er indstillet, indstilles hvert element i den nyoprettede ordbog til den angivne værdi.
Eksempel 1: Opret en ordbog ud fra en række nøgler
# vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) vowels = dict.fromkeys(keys) print(vowels)
Produktion
('a': Ingen, 'u': Ingen, 'o': Ingen, 'e': Ingen, 'i': Ingen)
Eksempel 2: Opret en ordbog ud fra en række nøgler med værdi
# vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) value = 'vowel' vowels = dict.fromkeys(keys, value) print(vowels)
Produktion
('a': 'vokal', 'u': 'vokal', 'o': 'vokal', 'e': 'vokal', 'i': 'vokal')
Eksempel 3: Opret en ordbog fra listen over ændrede objekter
# 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)
Produktion
('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))
Hvis værdi er et ændret objekt (hvis værdi kan ændres) som liste, ordbog osv., Når det ændrede objekt ændres, opdateres hvert element i sekvensen også.
Dette skyldes, at hvert element tildeles en reference til det samme objekt (peger på det samme objekt i hukommelsen).
For at undgå dette problem bruger vi ordbogens forståelse.
# 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)
Produktion
('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1)) ('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1))
Her oprettes en ny liste fra værdi for hver tast i nøgler og tildeles den.
I det væsentlige tildeles ikke elementet til elementet, men der oprettes en ny liste ud fra det, som derefter tildeles hvert element i ordbogen.