Сейчас делаю так:
for elem in list1:
counter = 0
for elem2 in list2:
# тут некоторый медленный код обработки, который я выкинул в примере, переписывать его на сишку нельзя, это модуль на питоне
if elem2 == elem:
counter += 1
sub_list.append(counter)
list1 содержит от 10 до 20 000 элементов, в среднем 6 000 элементов, list2 содержит около пары тысяч элементов. list2 у меня динамически грузится с жесткого диска в ещё одном внешнем цикле, их около 10 000. Как-то печально всё со скоростью перелопачивания. sub_list это на самом деле строки для csv файла, который я пытаюсь сгенерировать. Это как-то можно быстрее делать, например, внеся батарейки на сишке, помазав всё лямбдами или как-то ещё (на первый взгляд кажется что нельзя)? А то чувствую до утра считать будет. Не к спеху, конечно, всего 4 раза посчитать надо будет с разными параметрами, но на будущее хочется знать.