Сложение и вычитание словарей становятся чуть реальнее.
Из сводки за прошлую неделю, заинтересованные уже могли узнать, что сейчас во всю идёт обсуждение возможности внесения поддержки сложения (слияния) и вычитания (разницы) для словарей.

По итогам предварительного обсуждения данной идеи было создано предложение по улучшению 584, у которого есть неплохие шансы воплотиться в одной из следующих версий Питона, если его поддержат.

В рамках предложения должна быть добавлена поддержка операторов «+», «+=» и «-», «-=» для словарей.
Слияние будет аналогом dict.update(), поэтому оно не слишком занимает. А вот аналога вычитания пока нет.

Предполагается, что оно позволит получить словарь с элементами левого операнда, которые отсутствуют в правом:

d = {'a': 1, 'b': 2, 'd': 3}
e = {'d': 'cheddar', 'f': 'Ethel'}
d - e # {'a': 1, 'b': 2}
e - d # {'f': 'Ethel'}

На заметку
Автором данного PEP выступает Стивен Д'Апрано, благодаря которому в Python 3.6 модуль secrets попал в стандартную библиотеку. Стивен предполагает, что нововведение будет реализовано на Си, хотя оговаривается, что сам этим заниматься не сможет.

Продолжаем наблюдать.

Категории

Язык

На заметку
У нас есть представительство в Facebook. Ссылка в самом низу страницы.