у какого клиента есть 10^5
номера в его офисе? Вы работаете на всю телефонную компанию?
В любом случае:
print sum(1 for num in nums_dialed if num in client_nums)
Это даст вам как можно быстрее номер.
Если вы хотите сделать это для нескольких клиентов, используя один и тот же список nums_dialed
, вы можете сначала кэшировать данные по каждому номеру:
nums_dialed_dict = collections.defaultdict(int)
for num in nums_dialed:
nums_dialed_dict[num] += 1
Затем просто суммируйте единицы для каждого клиента:
sum(nums_dialed_dict[num] for num in this_client_nums)
Это было бы намного быстрее, чем повторять весь список чисел снова для каждого клиента.