我有两个列表(list1和list2),其中包含1000万个公司名称.每个列表都没有重复,但有些公司出现在两个列表中.而且我想找到那些公司是什么.我写了下面的代码:
list_matched = []
for i in range(len(list1)):
for j in range(len(list2)):
if list1[i] == list2[j]:
list_matched.append(list1[i])
Run Code Online (Sandbox Code Playgroud)
这段代码的问题在于它永远不会完成执行.我的问题是我可以在合理的时间内完成这项任务.1000万名的大小似乎太大了,无法处理.
使用设定逻辑.它专为此任务而设计.
a = set(list1)
b = set(list2)
companies_in_both = a & b
Run Code Online (Sandbox Code Playgroud)
(这将产生一个set输出.如果你需要它作为一个列表,只需将设置传递给list().)