Питхон речник фромкеис ()

Метода фромкеис () креира нови речник од датог низа елемената са вредношћу коју даје корисник.

Синтакса fromkeys()методе је:

 дицтионари.фромкеис (секвенца (, вредност))

параметри фромкеис ()

fromkeys() метода узима два параметра:

  • секвенца - секвенца елемената која ће се користити као кључеви за нови речник
  • вредност (Опционално) - вредност која се подешава за сваки елемент речника

Повратна вредност са форкеис ()

fromkeys() метода враћа нови речник са датим редоследом елемената као кључеве речника.

Ако је постављен аргумент вредности, сваки елемент ново креираног речника поставља се на наведену вредност.

Пример 1: Креирајте речник од низа тастера

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

Оутпут

 ('а': Нема, 'у': Нема, 'о': Нема, 'е': Нема, 'и': Нема) 

Пример 2: Креирајте речник од низа кључева са вредношћу

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

Оутпут

 ('а': 'самогласник', 'у': 'самогласник', 'о': 'самогласник', 'е': 'самогласник', 'и': 'самогласник') 

Пример 3: Креирајте речник са променљиве листе објеката

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

Оутпут

 ('а': (1), 'у': (1), 'о': (1), 'е': (1), 'и': (1)) ('а': (1, 2 ), 'у': (1, 2), "о": (1, 2), "е": (1, 2), "и": (1, 2)) 

Ако је вредност променљиви објекат (чија се вредност може изменити) попут листе, речника итд., Када се променљиви објекат модификује, сваки елемент секвенце се такође ажурира.

То је зато што је сваком елементу додељена референца на исти објекат (указује на исти објекат у меморији).

Да бисмо избегли овај проблем, користимо разумевање речника.

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

Оутпут

 ('а': (1), 'у': (1), 'о': (1), 'е': (1), 'и': (1)) ('а': (1), 'у': (1), 'о': (1), 'е': (1), 'и': (1)) 

Овде се за сваки кључ у кључевима креира нова листа вредности која му се додељује.

У основи, вредност није додељена елементу, већ се од њега креира нова листа која се затим додељује сваком елементу у речнику.

Занимљиви Чланци...