我想比较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函数有什么问题?
3 回答
墨色风雨
TA贡献1853条经验 获得超6个赞
您将放在if最后:
[y for y in a if y not in b]
列表解析的编写顺序与其嵌套的完整指定副本的书写顺序相同,实质上,以上声明翻译为:
outputlist = []
for y in a:
if y not in b:
outputlist.append(y)
您的版本尝试这样做:
outputlist = []
if y not in b:
for y in a:
outputlist.append(y)
但是列表理解必须至少从一个外部循环开始。
添加回答
举报
0/150
提交
取消