如何在具有不同请求的另一个列表中查找列表

时间:2014-03-07 05:13:45

标签: python list

我想找到一个优雅的方法,在另一个列表中找到一个列表,请查看下面的示例。谢谢!

al = ['aaa', 'bbb']
bl = ['aaabbb', 'cccc']

我想枚举al,然后如果al中的所有元素都包含在任何一个bl元素中,func返回True,否则返回False,下面是我的实现,我的问题是我可以在bl中移动 进入一行中的if语句?或者还有其他更好的方法吗?谢谢!

al = ['aaa', 'ddd']
bl = ['aaa', 'cccc', 'dddaaa']

for y in bl:
    if all( x in y for x in al):
        print 'exist'
        break;

以上代码将输出存在

2 个答案:

答案 0 :(得分:4)

将嵌套的生成器表达式与any

一起使用
if any(all(x in y for x in al) for y in bl):
    print 'exist'

答案 1 :(得分:0)

>>> flag=0
>>> for b in bl:
...      for a in al:
...          if a in b:
...             flag=1
...          else:
...             flag=0
...      if flag==1:
...        print "exist"
...        break
... 
exist