如何将我的代码转换为 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]

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...