- Я только что проанализировал большой файл и создал список, содержащий 42 000 строк / слов. Я хочу запросить [против этого списка], чтобы проверить, принадлежит ли данное слово / строка к нему. Итак, мой вопрос:
Какой способ поиска наиболее эффективен?
Первый подход - отсортировать список (list.sort()
), а затем просто использовать
>> if word in list: print 'word'
, что действительно тривиально, и я уверен, что есть лучший способ сделать это. Моя цель - применить быстрый поиск, который определяет, находится ли данная строка в этом списке или нет. Если у вас есть идеи по поводу другой структуры данных, они приветствуются. Тем не менее, я хочу пока избегать более сложных структур данных, таких как Tries и т. Д. Мне интересно услышать идеи (или трюки) о быстрых поисках или любых других методах библиотеки Python, которые могут выполнять поиск быстрее, чем простой in
.
А также я хочу узнать индекс элемента поиска