В этой программе мы увидим, как расширить словарь в Python. Функция dict.update() поможет пользователю расширить словарь с помощью пары ключ-значение из одного словаря в другой.
Пример:
Давайте возьмем пример и проверим, как расширить словарь в Python.
my_dict1 = {"james": 18, "potter": 67} new_dictionary = {"George": 12, "Micheal": 91} my_dict1.update(new_dictionary) print(my_dict1)
В приведенном выше примере сначала мы инициализируем два словаря «my_dict1» и «new_dictionary», которые содержат элементы в форме пары ключ-значение.
Теперь нам нужно использовать метод dict.update(), чтобы расширить словарь до другого.
Вот выполнение следующего данного кода:
{'james': 18, 'potter': 67, 'George': 12, 'Micheal': 91}
- Оператор **
- Функции update() и append()
- Понимание списка
- Расширенный класс словаря
- Функция extend()
- Как добавить словарь к другому словарю
- Разница между методами extend() и update()
Оператор **
Используя оператор **, мы можем выполнить эту конкретную задачу, и этот метод добавляет указанные элементы словаря в конец текущего словаря.
Исходный код:
my_dict = {'m': 51, 'q': 82} z = {'k': 10, 'u': 14} d = {**my_dict, **z} print(d)
Выход:
{'m': 51, 'q': 82, 'k': 10, 'u': 14}
Функции update() и append()
В словаре Python функция append() используется для добавления элементов к ключам словаря. В словаре функция означает объединение первого словаря с другим словарем.
В словаре Python функция append() используется для добавления элементов к ключам словаря и означает объединение первого словаря с другим словарем.
В словаре Python функция update() используется для обновления словаря элементами в форме пары «ключ-значение» из другого словаря.
В словаре Python добавление может использоваться как список, мы также можем использовать оператор «+» для добавления списков каждого ключа в словаре.
Пример:
Давайте приведем пример и проверим комбинацию функций update() и append() в словаре Python.
student_name = {'Micheal':178, 'George':923} add_new = {'Potter':236} student_name.update(add_new) print("Update elements",student_name) new_country = {'Germany': 'France'} new_country['Germany'] = [8] new_country['Germany'].append('France') print("Append elements",new_country)
После написания приведенного выше кода вы увидите, что сначала мы инициализируем словарь, в котором хранятся элементы пары ключ-значение. Здесь функция update() используется для добавления элемента в словарь и вызова оператора печати для отображения вывода.
После этого создайте еще один словарь и используйте функцию добавления, чтобы вставить элементы в словарь.
Вот выполнение следующего данного кода:
Update elements {'Micheal': 178, 'George': 923, 'Potter': 236} Append elements {'Germany': [8, 'France']}
Понимание списка
Здесь мы можем увидеть, как обновить список значений в словаре Python.
Используя метод понимания списка, мы можем обновить список значений, чтобы извлечь определенный ключ, а затем перебрать его значение в этом методе.
Исходный код:
stud_dictionary = {'student_id' :678, 'student_val' : [9,2,1], 'age' : 19} stud_dictionary['student_val'] = [y * 4 for y in stud_dictionary['student_val']] print("Updated dictionary:",stud_dictionary)
В приведенном выше коде, как только вы напечатаете «stud_dictionary», результат отобразится как «student_val»:[36,8,4]. В этой программе оператор «*» используется для обновления значений из списка. Вы можете проверить скриншот ниже, чтобы обновить список значений.
Выход:
Updated dictionary: {'student_id': 678, 'student_val': [36, 8, 4], 'age': 19}
Расширенный класс словаря
В этой программе мы увидим, как расширить класс словаря в Python, экземпляры которого будут хранить данные, содержащиеся в их элементе, в форме пары ключ-значение.
Мы можем применить подклассы, такие как dict, и использовать встроенные ключевые слова, такие как «self» и «super».
Пример:
class my_new_dict(dict): def __init__(self, *b, **a): super(my_new_dict,self).__init__(*b, **a) self.itemlist = super(my_new_dict,self).keys() def __setitem__(self, new_k, new_va): set(self.itemlist).add(new_k) super(my_new_dict,self).__setitem__(new_k, new_va) def __iter__(self): return iter(self.itemlist) new_val = my_new_dict(m=4,z=7) print("original dictionary:",new_val) new_val['u']=15 new_val['w']=19 print("Updated dictionary:",new_val)
Примечание. В этом примере метод dict.keys() не возвращает список, поэтому мы применяем метод self.
В приведенном выше коде, как только вы напечатаете «new_val», выходные данные будут отображаться как «{‘m’:4,’z’:7,’u’:8}’. В этой программе мы используем функцию «_init_», в которой мы назначили «self» и «*args» в качестве аргумента.
Вот реализация следующего кода:
original dictionary: {'m': 4, 'z': 7} Updated dictionary: {'m': 4, 'z': 7, 'u': 15, 'w': 19}
Функция extend()
Примечание. В словаре Python нет встроенной функции extend(), которую мы могли бы применить в словаре. Итак, в этом случае мы можем применить функцию update(), и она поможет пользователю обновить словарь элементами в виде пары ключ-значение из другого словаря.
Как добавить словарь к другому словарю
Используя оператор **, мы можем решить эту задачу, и этот метод вставляет указанные элементы словаря в виде пары ключ-значение в конец текущего словаря.
Пример:
my_new_org_dict = {'John': 782, 'Micheal': 173} update_dict = {'George': 192, 'oliva': 967} new_val = {**my_new_org_dict, **update_dict} print(new_val)
Вывод: в приведенном выше коде сначала мы инициализируем словарь с именем «my_new_org_dict», в котором хранятся элементы, а затем используем другой словарь «update_dict».
Теперь в этой программе мы используем оператор «**» для добавления элементов. Здесь мы видим, что словарь добавлен в другой словарь.
{'John': 782, 'Micheal': 173, 'George': 192, 'oliva': 967}
Вы можете обратиться к скриншоту ниже:
Разница между методами extend() и update()
В Python в словаре нет функции extend(), но мы можем применять этот метод в списках и кортежах. В Python функция update() используется для изменения словаря, и с помощью этого метода мы можем объединить старый словарь с новым словарем.
Пример:
my_new_dict = {'Mongodb':800,'Sql':892,'C++':956} print("NewLanguages",my_new_dict) my_new_dict.update({'java':300,'Pascal':890}) print("updated language",my_new_dict)
Вот результат выполнения следующего кода:
NewLanguages {'Mongodb': 800, 'Sql': 892, 'C++': 956} updated language {'Mongodb': 800, 'Sql': 892, 'C++': 956, 'java': 300, 'Pascal': 890}