Как я могу сохранить значение переменной в списке, но не саму переменную? - PullRequest
0 голосов
/ 04 августа 2020

Моя проблема в том, что когда я добавляю переменную в список в python, она сохраняет указатель на значение в списке, а не само значение. Это означает, что когда я изменяю переменную, которую я добавил к списку, значение в списке также изменяется, чего я не хочу. Я хочу сохранить текущее значение переменной в тот момент, когда я добавляю его в список, и оно больше не изменится после добавления.

Вот код, надеюсь, я смогу пояснить:

while j < n:
    if first_graph[j] == (n-1):
        while first_graph[j] == (n-1) and j < n-1:
            j += 1
        if first_graph[j] == (n-1) and j == n-1:
            j += 1
        else:
            first_graph[j] += 1
            for i in range(j):
                first_graph[i] = 0
            all_graphs.append(first_graph)
            j = 0
    else:
        first_graph[j] += 1
        all_graphs.append(first_graph)

Очевидно, это еще не все, но моя проблема в том, что first_graph в списке all_graphs обновляется при изменении, поэтому в конце all_graphs просто заполняется тем же перечислить несколько раз

1 Ответ

2 голосов
/ 04 августа 2020

Сделайте копию списка:

all_graphs.append(list(first_graph))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...