Извлечь бит из битового массива согласно списку индексов в Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Извлечь бит из битового массива согласно списку индексов в Python?

Сообщение Anonymous »

У меня есть два объекта битового массива (N.B. bitarray != BitArray), которые выглядят так:

a = bitarray('10010110')
b = bitarray('01001110')


Мне нужен новый битовый массив «c», который содержит элементы a по индексам, где элементы b равны 1. Так что

>> c = 0011


Я знаю, что делаю

b.search(bitarray('1'))


возвращает список интересующих меня индексов, но я не могу найти способ объединить битовый массив a со списком индексов.

Я знаю, что решение состоит в том, чтобы преобразовать a в список, использовать np.take для извлечения списка в соответствии со списком индексов и преобразовать результат в битовый массив. Тем не менее, это решение слишком требовательно (памяти и вычислительной мощности). Мой полный код представляет собой своего рода итерацию этой операции, и тест с массивом 1e6 занял около 10 секунд, что слишком много. Я должен работать с очень длинным массивом (5e9), поэтому я выбрал библиотеку битовых массивов. Насколько я понял, эта библиотека наиболее подходит с точки зрения оптимизации памяти.

Вот оно мое «списковое» решение
indexList=b.search(bitarray('1'))
c=bitarray((np.take(a.tolist(),indexList)).tolist())


Подробнее здесь: https://stackoverflow.com/questions/616 ... -in-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Алгоритм присвоения значений переменным согласно списку условий
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Алгоритм присвоения значений переменным согласно списку условий
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Алгоритм присвоения значений переменным согласно списку условий
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Python numpy: переупорядочить массив numpy по заданному списку индексов
    Anonymous » » в форуме Python
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Pytorch разбивает массив по списку индексов
    Гость » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Гость

Вернуться в «Python»