我有两个相似长度的列表ids
,descriptions
,它们都只包含字符串。
我有special_ids
,它也是一个列表,包含ids
的子集
我试过两种不同的方法
# 1
filtered = {k:v for k,v in zip(ids, descriptions) if k in special_ids}
# 2
filtered = {k:v for k,v in zip(ids, descriptions)}
filtered = {k: v for k,v in filtered if k in special_ids}
第二个更快。我说的是len(ids)
是370k~而len(special_ids)
是1.2k~
为什么第二个跑得这么快
旁注:
在实际问题中,ids
的元素是编码字符串的一个元素列表,所以实际上我像k[0].decode() for k in ids
一样对它们进行解包,在每个解决方案中,我认为这并不重要
目前没有回答
相关问题 更多 >
编程相关推荐