如何将我的代码转换为列表理解?

How do I convert my code into Lists Comprehension?

我有简单的代码,我只是想把它转换成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]