Spec-Zone.ru › PyTorch 2.14

torch.fx.experimental.unification.unification_tools.update_in

torch.fx.experimental.unification.unification_tools.update_in(d, keys, func, default=None, factory=<class 'dict'>) [исходный код]

Обновляет значение во (возможно) вложенном словаре

Входные данные: d — словарь, над которым выполняется операция; keys — список или кортеж, задающий расположение значения в d, которое нужно изменить; func — функция, применяемая к этому значению

Если keys == [k0,..,kX] и d[k0]..[kX] == v, update_in возвращает копию исходного словаря, в которой v заменено на func(v), но не изменяет исходный словарь.

Если k0 не является ключом в d, update_in создает вложенные словари глубиной, заданной keys, и присваивает внутреннему значению func(default).

>>> inc = lambda x: x + 1
>>> update_in({"a": 0}, ["a"], inc)
{'a': 1}
>>> transaction = {
...     "name": "Alice",
...     "purchase": {"items": ["Apple", "Orange"], "costs": [0.50, 1.25]},
...     "credit card": "5555-1234-1234-1234",
... }
>>> update_in(transaction, ["purchase", "costs"], sum)  
{'credit card': '5555-1234-1234-1234',
 'name': 'Alice',
 'purchase': {'costs': 1.75, 'items': ['Apple', 'Orange']}}
>>> # updating a value when k0 is not in d
>>> update_in({}, [1, 2, 3], str, default="bar")
{1: {2: {3: 'bar'}}}
>>> update_in({1: "foo"}, [2, 3, 4], inc, 0)
{1: 'foo', 2: {3: {4: 1}}}
Тип возвращаемого значения:

object

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.fx.experimental.unification.unification_tools.update_in.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API