Пытаясь в дальнейшем освоить Python, я изо всех сил пытаюсь реализовать то, что кажется основной задачей поиска, по списку в векторизованном numpy, и буду признателен за любые советы о том, как это сделать.
У меня есть списоксловари, и я хочу выбрать те словари, которые имеют определенную пару ключ: значение, что будет моим истинным условием. Моя интуиция заключается в использовании np.where
в списке, так как эта функция возвращает членов списка, которые соответствуют определенному условию. Но np.where
, по-видимому, не позволяет указывать какие-либо внутренние атрибуты / подсписки члена списка.
Например, следующий код дает мне TypeError
для индексов списка,
dictionaries = [{'name':'Koko', 'value':1},
{'name':'Sam', 'value':2},
{'name':'Mike', 'value':3},
{'name':'Bob', 'value':4},
{'name':'Alex', 'value':5}]
names_to_check = ['Koko', 'Bob']
search_results = np.where(dictionaries['name'] in names_to_check)
Я знаю, что всегда мог бы сделать for loop
для решения этой проблемы вручную.
Прав ли я здесь, используя np.where
, или есть какой-то лучший способ векторизации этой задачи?