2016-11-22 31 views
0

だから、私は自分のコードからスペースをフィルタリングする必要があるので、私はこれでした:なぜ私のフィルター機能は機能しませんか?

def diagramas(mens): 
    print(filter(lambda x: x != ' ', mens)) 

をそして私はメンズのための「OLAペドロ」を使用しますが、返されます。代わりの

<filter object at 0x03DC38F0> 

「をolapedro」 。それはなぜ機能しないのですか?

答えて

0

filter文字列が渡されたときに文字列を返すために使用され、Python 2でリストを渡したときなどのリストが便利でした。

しかし、それはpython 3で変更されました。今では、いくつかの利点がありますが、あなたの現在のケースではないイテレータを返します。

2の可能な修正:

1:

print("".join(filter(lambda x: x != ' ', mens))) 

2イテレータからストリングを再構築:

print("".join(x for x in mens if x!=' ')) 
:gencomp代わりのフィルタ(フィルタなし、なしラムダよりlisible)を使用し
関連する問題