Нужно понимать функцию в Python - PullRequest
0 голосов
/ 06 ноября 2011
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:

Это единственные две строки кода, которые у меня есть. Что меня беспокоит, так это фильтр в функции. Я действительно не знаю, что фильтр должен делать или как его использовать.

Ни в коем случае я не прошу полный код. Я просто хочу помочь с тем, что фильтр должен делать и как я могу его использовать.

Ответы [ 2 ]

1 голос
/ 06 ноября 2011

Как я уже сказал в своем комментарии, это действительно расплывчато.Но я попытаюсь немного объяснить концепцию фильтра в 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) для четных чисел.

На практике вы обычно используете лямбда-функцию вместо определения одноразовой функции верхнего уровня, но выне стоит беспокоиться об этом, так как это просто прекрасно.

Но в любом случае вы должны быть в состоянии сделать что-то подобное для достижения своей цели.

0 голосов
/ 06 ноября 2011

Хорошо сказано в строке описания:

Возвращает новый список, содержащий только элементы из изображений списка, которые проходят фильтр описания ( a str )
...
Сопоставление выполняется без учета регистра

Итак ... я предполагаю, что фильтр - это просто строка, есть ли у вас какой-либо текст, связанный с изображениями?какое-то описание или имя, которое можно сопоставить со строкой фильтра?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...