多列表上的Python嵌套列表推导

时间:2016-04-06 18:55:00

标签: python list list-comprehension

我正在尝试学习列表推导,我创建了这个简单的例子,我希望在列表= Web.Page("your html text") 中打印包含单词afox的字符串,同时排除那些包含rabbitred的内容。就目前而言,我的例子有效但我想知道它是否可以浓缩成单一的理解,从而无需设置操作。

blue

2 个答案:

答案 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)