Твой код возможно решает какую-то проблему, но точно не описанную тобой.
См.
range(start, stop[, step]):
- start -- первое значение интервала
- stop -- последнее значение интервала
- step -- шаг
for i in range(..) означает
для каждого i в интервале от start до stop с шагом step. Ты передаёшь как start, stop и step значения массива
samples_null_list, соответственно поведение цикла зависит от значений этого массива (а именно первого, последнего и девятого элемента).