У меня есть следующий код, который выдает неожиданный вывод.
arr1 = [i for i in range(10)] temp = [None]*20 top=10 temp[0:top+1] = arr1
После выполнения, почему длина массива 'temp' уменьшается с 20 до 19?
Это потому, что ваша строка temp[0:top+1] = arr1 неверна, она должна быть temp[0:top] = arr1.
temp[0:top+1] = arr1
temp[0:top] = arr1
arr1 имеет длину 10, но вы пытаетесь добавить 11 элементов из arr1 и поскольку одно из значений не существует, оно дает этот вывод.
arr1
10
11