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