Я нахожусь в финальной части проекта, над которым я работаю. Все работает гладко, но у меня есть узкое место, с которым мне трудно работать.
У меня есть список кортежей. Список имеет длину от 40 000 до 1 000 000 записей. Теперь у меня есть словарь, где каждый (значение, ключ) является кортежем в списке.
Итак, я мог бы
myList = [(20000, 11), (16000, 4), (14000, 9)...]
myDict = {11:20000, 9:14000, ...}
Я хочу удалить каждый (v, k) кортеж из списка.
В настоящее время я делаю:
for k, v in myDict.iteritems():
myList.remove((v, k))
Удаление 838 кортежей из списка, содержащего 20 000 кортежей, занимает от 3 до 4 секунд. Скорее всего, я удалю более 10 000 кортежей из списка из 1 000 000, поэтому мне нужно, чтобы это было быстрее.
Есть ли лучший способ сделать это?
Я могу предоставить код, используемый для тестирования, плюс маринованные данные из фактического приложения, если это необходимо.