Неправильное формирование списка списков с помощью вложенных циклов

Рейтинг: 0Ответов: 0Опубликовано: 15.02.2023

Всем привет!) Появилась проблема при исключении из кода костылей. Суть задачи такова: Ранее использовался список из 12 списков, который наполнялся данными через вложенные циклы. Выглядело это так:

list_ = [[], [], [], [], [], [], [], [], [], [], [], []]

for i in range(0, 10):

    for k in range(0, 12):

        list[k].append(x * y[k][i])

y- двухмерная таблица, откуда забираются данные, в каждом подсписке должно оказаться по 10 значений.

В таком формате, где количество подсписков внутри общего списка задавалось жестко как 12 штук, все работало отлично. Но теперь стало необходимым задавать количество подсписков в списке извне, и наполнять их по тем же правилам из таблицы y. Я сделал это следующим образом:

count_lists = 20 # количество подсписков в списке, задается извне

list_ = [[]] * int(count_lists)

for i in range(0, 10):

    for k in range(0, count_lists):

        list_[k].append(x * y[k][i])

В каждый подспискок так же необходимо закинуть по 10 значений. Но при подобной конструкции кода в каждый подсписок закидывается по count_lists * 10 значений (то есть все собираемые значения закидываются в каждый из подсписков), при том так, что все подсписки между собой становятся абсолютно идентичны. Проблем с таблицей y нет.

Помогите понять, пожалуйста, где я облажался. Я уже долго понять не могу...

Ответы

Ответов пока нет.