Чтобы поднять то, что было упомянуто в комментарии, я делал все, что упоминалось в этой теме, и вычеркиваю ... потому что моя была в петле, которую можно было запустить снова и снова; после первого раза через цикл, это иногда терпит неудачу. Всегда работал в первый раз через цикл.
Чтобы быть ясным: цикл включает в себя создание SmtpClient, а затем делает .Отправить с нужными данными. SmtpClient был создан внутри блока try / catch, чтобы поймать ошибки и убедиться, что объект был разрушен до нижней части цикла.
В моем случае решение заключалось в том, чтобы убедиться, что SmtpClient удален после каждого раза в цикле (либо с помощью инструкции (), либо путем ручного управления). Даже если объект SmtpClient неявно уничтожается в цикле, .NET, похоже, оставляет материал, находящийся вокруг конфликта со следующей попыткой.
Если речь идет о больших массивах numpy, лучше воспользоваться векторизованными операциями numpy.
%%time
np.unique(numbers[numbers <= 10], return_counts=True)
Вывод:
Wall time: 31.2 ms
(array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]),
array([10055, 10090, 9941, 10002, 9994, 9989, 10070, 9859, 10038,
10028, 9965], dtype=int64))
Для сравнения, мои собственные временные характеристики вашего кода немного превышали ваши.