Python szótár kulcsokból ()

A fromkeys () metódus új szótárat hoz létre a megadott elemsorból, a felhasználó által megadott értékkel.

A fromkeys()módszer szintaxisa :

 dictionary.fromkeys (szekvencia (, érték))

fromkeys () Paraméterek

fromkeys() A módszer két paramétert vesz fel:

  • szekvencia - az új szótár kulcsaként használható elemek sorozata
  • érték (Opcionális) - a szótár minden egyes eleméhez beállított érték

Visszatérési érték a kulcsoktól ()

fromkeys() A method egy új szótárat ad vissza, amelyben a megadott elemsorozat szerepel a szótár kulcsaként.

Ha az érték argumentum be van állítva, akkor az újonnan létrehozott szótár minden eleme a megadott értékre lesz állítva.

1. példa: Készítsen szótárt kulcssorozatokból

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

Kimenet

 („a”: Nincs, „u”: Nincs, „o”: Nincs, „e”: Nincs, „i”: Nincs) 

2. példa: Hozzon létre egy szótárt egy értékű kulcssorozatból

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

Kimenet

 ('a': 'magánhangzó', 'u': 'magánhangzó', 'o': 'magánhangzó', 'e': 'magánhangzó', 'i': 'magánhangzó') 

3. példa: Hozzon létre szótárt a mutálható objektumok listájából

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

Kimenet

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

Ha az érték egy módosítható objektum (amelynek értéke módosítható), például a lista, a szótár stb., A módosítható objektum módosításakor a szekvencia minden eleme is frissül.

Ennek oka, hogy minden elemhez ugyanarra az objektumra van utalás (ugyanarra az objektumra mutat a memóriában).

A probléma elkerülése érdekében szótárértést használunk.

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

Kimenet

 („a”: (1), „u”: (1), „o”: (1), „e”: (1), „i”: (1)) („a”: (1), „u”: (1), „o”: (1), „e”: (1), „i”: (1)) 

Itt a kulcsok mindegyik kulcsához új értéklistát hoznak létre és rendelnek hozzá.

Lényegében az elemhez nem rendelünk értéket, hanem egy új lista jön létre belőle, amelyet aztán a szótár minden eleméhez hozzárendelünk.

érdekes cikkek...