问题描述
我有简单的代码,我只是想把它转换成Lists Comprehensions,我们怎么做?
data=['Resaurants','Vibes','Drinks',18]
Invalid_Data=[]
Valid_Data=[]
for i in data:
if i not in new_dict:
Invalid_Data.append(i)
if i in list(new_dict.keys()):
Valid_Data.append(i)
解决方法
in list(new_dict.keys())
是一种很糟糕的检查字典中是否有键的方法,因为每次你都在构建一个不必要的列表,然后检查它是否包含键比只检查键是否包含要慢在字典里。应该只是 in new_dict
。
所以列出推导式:
invalid_data = [x for x in data if x not in new_dict]
valid_data = [x for x in data if x in new_dict]