170 похожих чатов

Тупой вопрос наверное, но как можно заморозить значение переменной? Условно:

переменной присваивается значение другой переменной. И при изменении исходной, новая не должна меняться

26 ответов

23 просмотра

copy() и deepcopy()

ок, какое значение у этой переменной? lst = [1, 2, 3,4]?

Срезом можно через (:)

ZontiQ
Срезом можно через (:)

ну получи свою шеллоу копи

>>> x = [1, 2, [3, 4]] >>> y = x[:] >>> y[2][1] = 5 >>> x [1, 2, [3, 5]] >>> y [1, 2, [3, 5]]

rasput
>>> x = [1, 2, [3, 4]] >>> y = x[:] >>> y[2][1] = ...

В чем смысл сообщения? Поясни пожалуйста?

ZontiQ
В чем смысл сообщения? Поясни пожалуйста?

в том, что срез твой нихуя не работает, но так как автор не понимает что он хочет, может быть для него этот срез и сработает. И как я уже сказал выше, мойша что-то про присваивание значения напел, но я очень сомневаюсь, что он не закартавил и не зафальшивил.

rasput
в том, что срез твой нихуя не работает, но так как...

Так что именно говоришь не работает?

А теперь измени элемент списка [3, 4] и напечатай x и y

Const
А теперь измени элемент списка [3, 4] и напечатай ...

Ты намекаешь на то что [:] не копирует а просто линк присваивает айдишнику от X ?

ZontiQ
Ты намекаешь на то что [:] не копирует а просто ли...

Нет, читай внимательнее то, что писали

Polkadot.- Автор вопроса
rasput
ок, какое значение у этой переменной? lst = [1, 2...

Не, там сериализованные данные из запроса. Юзанул deepcopy по совету ниже

Поменяй элемент в списке [3, 4] y[2] это элемент списка [3, 4]?

Const
Поменяй элемент в списке [3, 4] y[2] это элемент ...

Странно как то спрашиваешь. 3,4 это элементы y. Я бы так сказал.

рфоксед aka ռֆոքսեդ aka რფოკსედ 🏳️‍🌈
ты заменяешь сам список, а не элементы в нем

То есть в процессе присвоения новой переменной значения старой, методом среза [:], накладывает какие то ограничения изменения в будущем? Какая логика то?

ZontiQ
То есть в процессе присвоения новой переменной зна...

типа список - это список ссылок. У тебя копируются не объекты, а создаётся новый список со старыми ссылками. то есть если по ссылке лежит изменяемый объект, ты его изменишь

rasput
типа список - это список ссылок. У тебя копируются...

Жесткий нюанс. p/s нельзя было сразу так ответить?

ZontiQ
Жесткий нюанс. p/s нельзя было сразу так ответить...

Советую почитать: https://nedbatchelder.com/text/names.html

decorator-factory
Советую почитать: https://nedbatchelder.com/text/n...

Недавно проходил видео курс. Как раз там было про варианты копирования. По этому мне стало интересно тут пообщаться. И выяснить подробности.

ZontiQ
Жесткий нюанс. p/s нельзя было сразу так ответить...

Тебе сразу так и ответили Просто ты не пытался понять, а ждал пока разжуют

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта