python 推导式中多个if else 问题

lis03=[[['food','feed','foot'],'good',['look','loof','like'],'book'],['cool','our','you','how']]
有这样一个list列表,要求把包含两个o的元素全部取出来:

借鉴了别人写的递归函数:
def func2(lis):
if isinstance(lis, list):
result = []
for item in lis:
for li in func2(item):
if li.count('o') == 2:
result.append(li)

return result
else:
if lis.count('o') == 2:
return [lis]
else:
return []

print(func2('fol'))
print(func2(lis03))

现在想用列表推导式和递归函数把这个结果输出,就不知道怎么写了。
posted @ 2018-06-04 10:09  梦回初醒  阅读(4618)  评论(1编辑  收藏  举报