Analitycs

понедельник, 5 сентября 2011 г.

Как скопировать dict в Python? copy.deepcopy

При частом переключении с PHP на Python часто ловишь баги и проблемы с копиями объектов, особенно - ассоциативных массивов/dict.
Что бы избежать неявных изменений данных - нужно делать deepcopy - полное копирование.

Вариант новичковый

    node_params = {}
    for key, value in data['params'].iteritems():
        node_params[key] = value

Вариант true pythonic ;-)

    from copy import deepcopy
    ...
    node_params = deepcopy(data['params'])    
Внимательнее с копиями ;-)

Комментариев нет:

Отправить комментарий