как присвоить переменной значениие кортежа без их дальнейшей "синхронизации"

Рейтинг: 0Ответов: 1Опубликовано: 23.05.2023

вот код:

a = [1, 5]
b = a
b.pop(1)
print(a)

Программа выводит: [1]

а мне необходимо чтобы переменную "a" это не затрагивало

есть такой вариант:

a = [1, 5]
b = eval(str(a))
b.pop(1)
print(a)

и всё работает хорошо, но это скорее-всего плохой вариант, есть-ли какие-нибудь другие ваианты?

Ответы

▲ 1

Скопировать список можно разными способами:

  1. метод .copy() (как писал @gord1402 в комментариях):

    b = a.copy()
    
  2. срез:

    b = a[:]
    
  3. вызов конструктора list:

    b = list(a)