Я читаю CSV-файл с «отсутствующими» значениями индекса (например, 1, 2, 4 - отсутствует 3-й индекс). Я хочу заполнить пробелы фиктивными линиями, которые имеют индекс и нули для других переменных. Это код, который заполняет пробелы (функция печати для проверки):похоже, что append() добавляет переменные, а не их значения.
for i in range(int(row[0]) - id_last - 1):
dummy_row[0] = i
print dummy_row
csv_raw.append(dummy_row)
Выход печати показывает строки, как предполагалось. Но в csv_raw все значения в первом столбце (индекс) равны последнему значению i, а не i в момент, когда я вызывал функцию append. Вот выход:
печати dummy_row:
[3, 0, 0] [4, 0, 0] [6, 0, 0] [7, 0, 0] [8, 0 , 0] [9, 0, 0]
печати csv_raw (в конце программы):
[[1, 'первый', '1'], [2, ' 2], [9, 0, 0], [9, 0, 0], [5, 3, '3'], [9, 0, 0], [9, 0, 0], [9, 0, 0], [9, 0, 0], [10, 4, 4]]
Я попытался объявить, что поднимается после каждого цикла, но это не изменило результат. Я хотел бы понять, как решить проблему и почему это происходит. Я предполагаю, что это связано с тем, как работает python (я знаю некоторые базовые C, но не формальное обучение на python).
Спасибо!
Ничего себе! Спасибо за быстрый ответ.Он работает сейчас. –