我正在尝试学习列表推导,我创建了这个简单的例子,我希望在列表= Web.Page("your html text")
中打印包含单词a
或fox
的字符串,同时排除那些包含rabbit
或red
的内容。就目前而言,我的例子有效但我想知道它是否可以浓缩成单一的理解,从而无需设置操作。
blue
答案 0 :(得分:0)
您的列表理解将如下所示:
d = [x for x in a if any(y in x for y in b) and not any(y in x for y in c)]
请注意它几乎与您的规范相似。
结果是
['the green fox', 'the yellow fox', 'the yellow rabbit']
由于您的示例代码使用了普通的in
支票,因此我假设您在此处查找子字符串,并且"蓝色"应该被认为是"蓝色"。否则,请用空格分隔a
中的所有字符串,并在计算结果后重新加入它们。
答案 1 :(得分:0)
或者,如果你真的想使用套装,你可以这样做:
select distinct p.lastName, p.firstName
from Patron p
inner join ticketsale as t2 (on p.PatronId = t2.PatronId and t2.PerformanceId = 1)
where p.PatronId not in (select distinct t1.PatronId
from ticketsale as t1 where t1.PerformanceId <> 4)