1

Pythonの学習を始めましたが、フィルター機能に問題があります。

私が走ったら

list=list(range(10))

def f(x): return x % 2 != 0

print(((filter(f,list))))

結果が出ます

filter object at 0x00000000028B4E10

Process finished with exit code 0

そして、コードを次のように変更すると

list=list(range(10))

def f(x): return x % 2 != 0

print(list(filter(f,list)))

私が得る結果は

Traceback (most recent call last):
   File "C:/Users/Vo Quang Hoa/PycharmProjects/HelloWorld/Hello.py", line 6, in <module>
     print(list(filter(f,list)))
TypeError: 'list' object is not callable

Process finished with exit code 1

何があったの。リストの入手方法13579ご協力いただきありがとうございます。

4

2 に答える 2

3

名前を変更listして、別の値を付けました。そうしないでください、あなたはビルトインタイプをシャドウイングしました。代わりに別の名前を使用するようにコードを変更してください。

some_list = list(range(10))

def f(x): return x % 2 != 0

print(list(filter(f, some_list)))

その後、filter()問題なく動作します。

于 2013-03-10T12:05:34.703 に答える
2

あなたの主な問題は、あなたがあなたのlist変数、ええと、を呼んだことですlist。他のオブジェクトと同じ名前を使用しないでください。リストを別の名前で呼び出すか、大文字のキャメルケースなどの命名規則を使用します。

Fred=list(range(10))

def f(x): return x % 2 != 0

print(list(filter(f,Fred)))
于 2013-03-10T12:08:38.823 に答える