Python vārdnīca no taustiņiem ()

Metode fromkeys () izveido jaunu vārdnīcu no norādītās elementu secības ar lietotāja sniegtu vērtību.

Metodes sintakse fromkeys()ir:

 dictionary.fromkeys (secība (, vērtība))

fromkeys () parametri

fromkeys() metode prasa divus parametrus:

  • secība - elementu secība, kas jāizmanto kā atslēgas jaunajā vārdnīcā
  • vērtība (pēc izvēles) - vērtība, kas tiek iestatīta katram vārdnīcas elementam

Atgriezeniskā vērtība no fromkeys ()

fromkeys() method atgriež jaunu vārdnīcu ar norādīto elementu secību kā vārdnīcas taustiņus.

Ja ir iestatīts vērtības arguments, katram jaunizveidotās vārdnīcas elementam tiek iestatīta norādītā vērtība.

1. piemērs: izveidojiet vārdnīcu no atslēgu secības

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

Rezultāts

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

2. piemērs: izveidojiet vārdnīcu no atslēgu secības ar vērtību

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

Rezultāts

 ('a': 'patskaņs', 'u': 'patskaņs', 'o': 'patskaņs', 'e': 'patskaņs', 'i': 'patskaņs') 

3. piemērs: izveidojiet vārdnīcu no maināmo objektu saraksta

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

Rezultāts

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

Ja vērtība ir maināms objekts (kura vērtību var mainīt), piemēram, saraksts, vārdnīca utt., Mainot maināmo objektu, tiek atjaunināts arī katrs secības elements.

Tas ir tāpēc, ka katram elementam tiek piešķirta atsauce uz to pašu objektu (norāda uz to pašu objektu atmiņā).

Lai izvairītos no šī jautājuma, mēs izmantojam vārdnīcas izpratni.

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

Rezultāts

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

Šeit katram atslēgas taustiņam tiek izveidots un tam piešķirts jauns vērtības saraksts.

Būtībā vērtība netiek piešķirta elementam, bet no tā tiek izveidots jauns saraksts, kas pēc tam tiek piešķirts katram vārdnīcas elementam.

Interesanti raksti...