我正试图找到一个更快的解决方案,我现在拥有.我的问题包括创建一个从其他2个列表派生的python列表.List_a有很多元素,list_b有更多的元素,有些与list_a有共同之处.
这就是我所拥有的:
list_a = [a huge python list with over 100,000 elements ]
list_b = [a huge python list with over 1,000,00 elements]
Run Code Online (Sandbox Code Playgroud)
我的解决方案
list_c = []
for item in list_a:
if item not in list_b:
list_c.append(item)
Run Code Online (Sandbox Code Playgroud)
它有效,但它非常非常慢.有没有办法更快地解决这个问题?
您可以使用列表理解
list_c = [item for item in list_a if item not in list_b]
Run Code Online (Sandbox Code Playgroud)
但对于性能,请注意in操作更快的set比list,所以您可能需要先添加一个步骤
set_b = set(list_b)
list_c = [item for item in list_a if item not in set_b]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
338 次 |
| 最近记录: |