使用if语句进行列表理解

发布于 2021-01-29 17:28:06

我想比较2个可迭代项并打印出现在两个可迭代项中的项目。

>>> a = ('q', 'r')
>>> b = ('q')


# Iterate over a. If y not in b, print y.
# I want to see ['r'] printed.
>>> print([ y if y not in b for y in a])
                              ^

但这给我一个无效的语法错误,该错误^已放置在处。这个lamba函数有什么问题?

关注者
0
被浏览
51
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您下的订单错了。在if应后的for(除非它是在if-else三元运算符)

    [y for y in a if y not in b]
    

    但是,这将起作用:

    [y if y not in b else other_value for y in a]
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看