Python-ordbog fra nøgler ()

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.

Interessante artikler...