def process_filter_description(filter, images, ial):
'''Return a new list containing only items from list images that pass
the description filter (a str). ial is the related image association list.
Matching is done in a case insensitive manner.
'''
images = []
for items in ial:
这是我到目前为止唯一的两行代码。困扰我的是功能中的过滤器。我真的不知道过滤器应该做什么或如何使用它。
我绝不会要求完整的代码。我只想帮助过滤器应该做什么以及如何使用它。
答案 0 :(得分:1)
就像我在评论中说的那样,这真的很模糊。但我会尝试解释一下python中过滤器的概念,特别是filter()
函数。
过滤器的原型是:iterable <- filter(function, iterable)
。
iterable
是可以迭代的东西。您可以在文档中查找此术语以获得更准确的解释,但对于您的问题,只需知道列表是可迭代的。
function
是一个函数,它接受您指定的iterable
的单个元素(在本例中是列表的元素)并返回一个布尔值,指定该元素是否应该存在于迭代中退回。如果函数返回True,则元素将出现在返回的列表中,如果为False,则不会。
这是一个简短的例子,展示了如何使用filter()
函数过滤掉所有偶数(我应该指出,与“过滤所有奇数”相同)
def is_odd(i): return i%2
l = [1,2,3,4,5] # This is a list
fl = filter(is_odd, l)
print fl # This will display [1,3,5]
你应该说服自己is_odd
先行。对于奇数,它将返回1(= True),对于偶数,它将返回0(= False)。
在实践中,你通常使用lambda函数而不是定义一次性使用的顶级函数,但你不应该担心,因为这很好。
但无论如何,你应该能够做类似的事情来实现你的目标。
答案 1 :(得分:0)
它在描述行中说:
返回一个新列表,其中仅包含通过描述过滤器的列表图像中的项目( a str )
...
匹配以不区分大小写的方式完成
所以..我猜这个过滤器只是一个字符串,你有没有与图像相关的文字?某种可以与过滤字符串匹配的描述或名称?