Python-sanakirja avaimet ()

Fromkeys () -menetelmä luo uuden sanakirjan annetusta elementtisarjasta käyttäjän antaman arvon.

Menetelmän syntaksi fromkeys()on:

 dictionary.fromkeys (sekvenssi (, arvo))

fromkeys () -parametrit

fromkeys() menetelmä ottaa kaksi parametria:

  • sekvenssi - alkioiden sarja, jota käytetään uuden sanakirjan avaimina
  • arvo (valinnainen) - arvo, joka asetetaan sanakirjan jokaiselle osalle

Palautusarvo avainnäppäimistä ()

fromkeys() method palauttaa uuden sanakirjan, jossa annettu elementtisarja on sanakirjan avaimina.

Jos arvoargumentti on asetettu, jokaisen uuden luodun sanakirjan elementti asetetaan annettuun arvoon.

Esimerkki 1: Luo sanakirja avainsarjasta

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

Tuotos

 ('a': Ei mitään, 'u': Ei mitään, 'o': Ei mitään, 'e': Ei mitään, 'i': Ei mitään) 

Esimerkki 2: Luo sanakirja arvoa sisältävästä avainsarjasta

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

Tuotos

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

Esimerkki 3: Luo sanakirja muutettavien kohteiden luettelosta

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

Tuotos

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

Jos arvo on muutettava objekti (jonka arvoa voidaan muokata), kuten luettelo, sanakirja jne., Kun muutettavaa objektia muokataan, myös sekvenssin kukin osa päivittyy.

Tämä johtuu siitä, että jokaiselle elementille on annettu viite samaan objektiin (osoittaa samaan objektiin muistissa).

Tämän ongelman välttämiseksi käytämme sanakirjan ymmärtämistä.

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

Tuotos

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

Tällöin jokaiselle avainavaimelle luodaan uusi luettelo arvosta ja määritetään sille.

Pohjimmiltaan arvoa ei ole määritetty elementille, mutta siitä luodaan uusi luettelo, joka määritetään sitten jokaiselle sanakirjan elementille.

Mielenkiintoisia artikkeleita...