Поменяйте два значения в массиве numpy.

Есть ли что-то более эффективное, чем следующий код для замены двух значений массива numpy 1D?

input_seq = arange(64) ix1 = randint(len(input_seq)) ixs2 = randint(len(input_seq)) temp = input_seq[ix2] input_seq[ix2] = input_seq[ix1] input_seq[ix1] = temp 

    One Solution collect form web for “Поменяйте два значения в массиве numpy.”

    Вы можете использовать распаковку кортежа. Переполнение распаковки позволяет избежать использования временной переменной в вашем коде (на самом деле я считаю, что сам код Python использует временную переменную за кулисами, но она на гораздо более низком уровне и, следовательно, намного быстрее).

     input_seq[ix1], input_seq[ix2] = input_seq[ix2], input_seq[ix1] 

    Я поставил этот вопрос как дубликат, ответ на сообщение об ошибке более подробно.

     
    Interesting Posts for Van-Lav

    Сравнение скорости суммирования массива Numpy и Matlab

    Как управлять разделением огромных чисел в Python?

    Как обрабатывать utf8 в командной строке (используя Perl или Python)?

    Как запрашивать документы в mongodb (pymongo), где все ключевые слова существуют в поле?

    Макро или эквивалент в reStructuredText?

    Как построить отношения «многие ко многим» с помощью SQLAlchemy: хороший пример

    Разбивка колонн группами в Пандах

    Решите пару связанных нелинейных уравнений в определенных пределах

    разница между хешем perl и словарем python

    Использование запросов python с страницами javascript

    Определение перечислений в коде Cython, которые будут использоваться в части кода C

    текст / поток событий, распознаваемый как загрузка

    pip неожиданно не устанавливает последнюю версию git-пакета с фиксацией ветки / фиксации

    Получить html под тегом, используя htmlparser python

    Виджет Python Tkinter для ноутбуков

    Python - лучший язык программирования в мире.