我正在搜索如何从列表中过滤None值,然后进入此代码。
my_list = [None, 1, 1, None]
print([x for x in my_list if x])
它运作良好,但是没有解释代码的工作方式,我无法弄清楚。
谁能解释一下代码的工作原理吗?
谢谢。
答案 0 :(得分:2)
如评论中所述,此代码可以过滤掉任何虚假项目(0,False
,None
)。
您应该明确告诉您需要过滤的内容:
[x for x in my_list if x is not None]
答案 1 :(得分:0)
了解列表推导LIST COMPREHENSIONS
#this code only for understand purpose please write your own logic
my_list = [None, 1, 1, None]
#print([x for x in my_list if x])
l=[]
for x in my_list:
if x:
l.append(x)
print(l)
您还可以使用lambda或过滤器功能