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.