Форум сайта python.su
0
Моя задача на примитивном примере:
Исходный список: a=[]
Нужно получить:a=[,,,]
т.е. последовательно менять один из элементов исходного списка на ‘X’ и добавлять каждый полученный список в исходный.
# coding: utf-8 a=[['a','b','c','d']] b=['a','b','c','d'] for i in range(0,len(b)): c=b c[i]='X' a.append(c) print(a) print(b)
Отредактировано Sprouttie (Янв. 4, 2016 19:34:19)
Офлайн
6
Попробуйте заменить c=b на
c=b[:]
Отредактировано Firik (Янв. 4, 2016 19:37:59)
Офлайн
0
Исходный текст моего сообщения
Прикреплённый файлы:
Вот_так.png (37,7 KБ)
Офлайн
0
Да! Получилось, спасибо! Была такая идея, но потратив кучу сил на постижение принципа работы интерпретатора, уже отчаялся получить какой-то результат))). Там у меня более сложный цикл был и долго не мог найти ошибку. Огромное спасибо!
Отредактировано Sprouttie (Янв. 4, 2016 19:46:51)
Офлайн
6
Вы создавали копию ссылки на список. Мой вариант создает копию значений.
Офлайн