我有一个已拨电话号码列表 (nums_dialed)。我还有一组电话号码,这些电话号码是客户办公室的号码(client_nums)我如何有效地计算出我给特定客户打了多少次电话(总计)
例如:
>>>nums_dialed=[1,2,2,3,3]
>>>client_nums=set([2,3])
>>>???
total=4
问题是我有一个很大的数据集:len(client_nums) ~ 10^5;和 len(nums_dialed) ~10^3。
原文由 Tim 发布,翻译遵循 CC BY-SA 4.0 许可协议
哪个客户的办公室里有
10^5
号码?你为整个电话公司工作吗?反正:
那会尽快给你号码。
如果你想为多个客户端做这件事,使用相同的
nums_dialed
列表,那么你可以先缓存每个数字上的数据:然后将每个客户端上的那些相加:
这比为每个客户再次遍历整个数字列表要快得多。