list1[4] = 'o'
Этот оператор создает новый строковый объект и присваивает его 5-му элементу в list1
.
Для иллюстрации использования функции id()
:
def print_list(input_list):
print(input_list)
print([id(elem) for elem in input_list])
example_list = list("Pythan")
print_list(example_list)
example_list[4] = "o"
print_list(example_list)
Вывод
$ python3 test.py
['P', 'y', 't', 'h', 'a', 'n']
[140304019637840, 140304019089704, 140304019843648, 140304019687776, 140304019613992, 140304020050696]
['P', 'y', 't', 'h', 'o', 'n']
[140304019637840, 140304019089704, 140304019843648, 140304019687776, 140304019638120, 140304020050696]
Обратите внимание, что адреса памяти для всех элементов одинаковы, за исключением элемента, который был заменен.