Заполнение массива с использованием [:,:] приводит к сбою Python? - PullRequest
1 голос
/ 17 марта 2011

Привет,

Я натолкнулся на интересную ошибку и подумал, знает ли кто-нибудь причину.

Я создаю несколько пустых массивов объекта dtype и хочу инициализировать их пустыми строками,поэтому для их создания я сделал следующее:

txtInputs=empty((7,12), dtype=object)
txtInputs[:, :]=''

repeated...

То, как они используются после, не имеет значения, за исключением того, что эти переменные являются локальными для функции и исчезают при ее возврате.Однако я обнаружил, что когда я вызываю функцию, которая делает это много раз подряд, моя программа вылетает с ошибкой, сообщающей, что pythonw.exe перестал работать.Этот сбой является последовательным и происходит после определенного числа вызовов, и этот номер никогда не меняется.

Однако, если я заменим вторую строку на:

txtInputs.fill('')

Это не произойдет сбой.Что не так с использованием [:,:] = '' для заполнения массива numpy ??

Спасибо.

PS.Я использую Python 2.5 и NumPy 1.0.4

1 Ответ

4 голосов
/ 17 марта 2011

Эта ошибка не возникает при numpy 1.5.1.Мы исправили несколько ошибок во времена numpy 1.0.4, особенно с объектами и строковыми типами.Это, наверное, один из них.С тех пор ошибка, видимо, была исправлена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...