Member 13469023 Ответов: 3

Программирование на Python: списки


ген = [0, 5, 1, 0, 7, 1]
originalGene = ген

ген[0] = 2
печать оригинала

Выход: [2, 5, 1, 0, 7, 1]
Вопрос: почему содержание списка "originalGene" также изменяется ?

Что я уже пробовал:

Я пытался запустить код несколько раз, и я пытался сделать это с переменными, и он работает с переменными, но не со списками...

3 Ответов

Рейтинг:
2

Patrice T

Это, вероятно, потому, что originalGene и gene являются ли оба указателя на реальный список, так что когда gene[0] = 2 измените первый элемент списка, он, по-видимому, изменит обе переменные одновременно.
Вам нужно изучить python для получения более подробной информации.


Рейтинг:
1

Nizamulmulk

ген = [0, 5, 1, 0, 7, 1]
originalGene = ген

Вот в чем причина. Оба указывают на один и тот же список. Проверьте идентификатор обоих этих списков. Она должна быть такой же.


Рейтинг:
0

Richard MacCutchan

Вы должны взять копию:

gene = [0, 5, 1, 0, 7, 1] 
originalGene = gene[:]