Python манипулирование списком: проблема в копировании массива - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть следующий код, который выдает неожиданный вывод.

arr1 = [i for i in range(10)]
temp = [None]*20
top=10
temp[0:top+1] = arr1

После выполнения, почему длина массива 'temp' уменьшается с 20 до 19?

1 Ответ

2 голосов
/ 10 февраля 2020

Это потому, что ваша строка temp[0:top+1] = arr1 неверна, она должна быть temp[0:top] = arr1.

arr1 имеет длину 10, но вы пытаетесь добавить 11 элементов из arr1 и поскольку одно из значений не существует, оно дает этот вывод.

...