Тема: Збереження змінних зі списку - відмінності
Якщо маємо список(або кортеж) зі списків, і присвоюємо змінній його певне значення, то подальша зміна цієї змінної впливає на сам первісний список. Якщо маємо список із str або num, і присвоюємо змінній його певне значення, то подальша зміна цієї змінної НЕ впливає на сам первісний список. Чи можна підказати у чому причина такої дивної відмінності?
Для ясності наводжу короткий приклад:
sample_list1 = ['Python', 'Swift', 'Java', 1, 2, 3]
sample_list2 = [['Python', 'Swift', 'Java'], [1, 2, 3]]
x1_str = sample_list1[1]
x1_num = sample_list1[4]
x2_str = sample_list2[0]
x2_num = sample_list2[1]
print(x1_str, x1_num, x2_str[1], x2_num[1])
#assign another value
x1_str = 'PHP'
x1_num = 10
x2_str[1] = 'PHP'
x2_num[1] = 10
print(x1_str, x1_num, x2_str[1], x2_num[1])
print(' List1', sample_list1, '\n', 'List2', sample_list2)