dict.fromkeys
Создаёт словарь с ключами из итерируемого объекта и одним значением для всех.
Python 3.13
dict.fromkeys(iterable[, value])Параметры
- iterableIterable
- Ключи будущего словаря.
- valueAnyнеобязательный
- Значение для всех ключей, по умолчанию None.
Возвращаемое значение
Новый словарь.
Примеры
Одинаковое значение для всех ключей
Python 3.13
print(dict.fromkeys(['a', 'b'], 0)){'a': 0, 'b': 0}Удаление повторов с сохранением порядка
Python 3.13
print(list(dict.fromkeys([3, 1, 3, 2, 1])))[3, 1, 2]
Общий список для всех ключей
Python 3.13
groups = dict.fromkeys(['a', 'b'], [])
groups['a'].append(1)
print(groups){'a': [1], 'b': [1]}Подробности
Всем ключам достаётся один и тот же объект value: если это список, изменение через один ключ видно во всех. Для отдельного списка на каждый ключ используйте {key: [] for key in keys} или collections.defaultdict(list). Повторяющиеся ключи остаются в одном экземпляре, поэтому list(dict.fromkeys(items)) убирает повторы с сохранением порядка.
