Угловой Динамически загружаемый модуль должен использовать корневую службу инжектора

Чтобы добавить немного больше для путаницы между мелкой копией и просто назначить новое имя переменной для списка.

«Скажем, у нас есть:

x = [
    [1,2,3],
    [4,5,6],
    ]

Это утверждение создает 3 списки: 2 внутренних списка и один внешний список. Ссылка на внешний список затем становится доступной под именем x.Если мы выполняем

y = x

, данные не копируются. У нас все еще есть те же 3 списка в памяти где-то все это делает внешний список доступным под именем y, в дополнение к его предыдущему имени x. Если мы делаем

y = list(x)

или

y = x[:]

Это создает новый список с тем же содержимым, что и x. Список x содержит ссылку на 2 внутренних списка, поэтому новый список также будет содержать ссылку на те же самые 2 внутренних списка. Только один список копируется - внешний список. есть 4 списка в памяти, два внутренних списка, внешний список и копия внешнего списка. Исходный внешний список доступен под именем x, а новый внешний список становится доступным под именем y.

Внутренние списки не были пестрая!

Если у вас есть двумерный (или более высокий) список или любая вложенная структура данных, и вы хотите создать полная копия всего, то вы хотите использовать функцию deepcopy () в модуле копирования. Ваше решение также работает для 2-D списков, как итерации над элементами во внешнем списке и делает копию каждого из них, а затем создает новый внешний список для всех внутренних копий ».

source: https://www.reddit.com/r/learnpython/comments/1afldr/why_is_copying_a_list_so_damn_difficult_in_python/

-3
задан Chetan 5 March 2019 в 18:01
поделиться

1 ответ

Для сервисов, которые должны быть одиночными во всем приложении, рекомендуется определить их в модуле core , который затем импортируется в корневой модуль (AppModule).

Для получения более подробной информации см. Angular Style Guide .

0
ответ дан Axel Zarate 5 March 2019 в 18:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: