2011-11-05 20 views
0
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行だけです。私が悩んでいるのは、関数内のフィルタです。私は本当にフィルタが何をやるべきか、それをどう使用するのか分からない。決してPythonの関数を理解する必要があります

は、私は完全なコードを求めています。私は、フィルタが何をすべきか、どのように使用できるかを助けたいと思っています。

+2

Hmm - これは実際には曖昧です...あなたを助けるためにはもっと文脈が必要でしょう。 – jedwards

+0

どこが 'process_filter_description()'ですか?あなたが書こうとしていることは何ですか? – yosukesabai

+1

これは私にとって宿題のようです。ドキュメント文字列は質問としてテキストブックからすぐに取り出すことができます。 –

答えて

1

私のコメントで言ったように、これは実際には曖昧です。しかし、私はPythonのフィルタのコンセプトについて少し説明しようとします。具体的にはfilter()です。

フィルタのプロトタイプは次のとおりです。iterable <- filter(function, iterable)

iterableを繰り返し処理することができるものです。あなたはもっと正確な説明のためにこの用語をドキュメントで調べることができますが、あなたの質問のために、リストが繰り返し可能であることを知ってください。

functionは、指定した要素の1つの要素(この場合はリストの要素)を受け取り、その要素が返される繰り返し可能な要素に存在するかどうかを指定するブール値を返します。関数が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

まあ、それは記述行に書かれています:

リターン説明フィルタ(STR)を通過し、リスト画像からアイテムのみを含む新しいリスト
...
マッチングが行われます大文字小文字を区別しない方法でフィルタを推測

..だからイムは、あなたが関連付けられたテキストの任意の種類を持っているか、単なる文字列であります 画像 ?フィルタ文字列と照合することができる何らかの種類の説明または名前?

関連する問題