Удаление ребер в повторяющемся графе удаляет ребра в исходном графе

Я создаю график и сохраняю его в новой переменной temp

gg = Graph()
gg.add_vertices(6)
gg.add_edges([(0,1), (1,2), (2,0), (2,3),(3,4),(4,5),(5,3)])
temp=gg

Когда я печатаю оба графика, я получаю один и тот же результат:

print gg
print temp

Output:
IGRAPH U--- 6 7 --
+ edges:
0--1 1--2 0--2 2--3 3--4 4--5 3--5
IGRAPH U--- 6 7 --
+ edges:
0--1 1--2 0--2 2--3 3--4 4--5 3--5

Затем я удаляю ребра из временного графика и снова печатаю оба графика, но похоже, что ребра были удалены и из исходного графика gg.

temp.delete_edges([1,2])
print gg
print temp

Output:
IGRAPH U--- 6 5 --
+ edges:
0--1 2--3 3--4 4--5 3--5
IGRAPH U--- 6 5 --
+ edges:
0--1 2--3 3--4 4--5 3--5

Я делаю что-то не так или есть какие-то нюансы в том, как Python обрабатывает графики, которые я упускаю, потому что, похоже, этого не происходит в R. Спасибо!

temp — просто еще одна ссылка на тот же график; это не копия.
chepner 09.03.2019 21:06

Читать nedbatchelder.com/text/names.html.

chepner 09.03.2019 21:07
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
48
0

Другие вопросы по теме