У оператора не работает большой список
Я использую Python 3.5.1 как на Windows 10 и Ubuntu 14.04 LTS. У меня есть список, который содержит более миллиона строковых элементов. Предметы - это строки Unicode турецких слов. Я проверяю наличие некоторых строк в этом списке с помощью оператора in. Большинство ответов верны. Однако некоторые строки возвращают False, даже если они существуют в списке. Я попробовал те же проверки после преобразования списка в набор. Но ничего не изменилось. Что я могу сделать, чтобы получить правильные результаты. Благодарю.
Я использую кодировки utf-8 везде.
1 ответ
Задача решена. Но это была не проблема списка. Чтобы подготовить список, я построчно читал соответствующий файл, разбирал его и добавлял в список. В этом процессе некоторые из предметов будут потеряны. Я пока не знаю причину. Но следующие строки создают точный список без каких-либо потерь:
с открытым ("./veri/dertop.txt",encoding="utf-8") как fin: dertop = fin.read().splitlines()