Прежде всего в C "=" является присваиванием значения и не создает ссылку. Более конкретно, когда вы пишете a = b = 1, что происходит, это.
(1) b = 1 вычисляется, присваивает 1 b, а затем возвращает 1, поэтому выражение становится a = 1
(2) a = 1 оценивается, присваивает 1 для b и затем возвращает 1, который нигде не используется.
Тогда a = 1 изменяет только a, как и ожидалось.
В Python все немного сложнее, поскольку каждая переменная является ссылкой, но она обрабатывает числа по-разному, потому что они неизменны. Короче говоря, когда вы пишете a = 1 и b = 1, тогда a is b возвращает True. Но изменение одного не изменит другого.
Это, однако, не происходит с объектами, с ними справка работает, как и ожидалось. Поэтому, если вы хотите сделать то, что вы описываете, возможно, вам следует определить новый объект, который содержит желаемое значение, и назначить его переменной.