我现在开始学习python,我遇到了过滤器函数的问题。如何在python中使用过滤器函数33
如果我运行
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
发生了什么。如何获取列表1 3 5 7 9 感谢您的帮助。
Python PEP 8样式指南建议您使用lower_case_with_underscores作为本地名称。 – 2013-03-10 12:09:48
@MartijnPieters:真(对不起,那应该是真的)。如果你的名字中只有一个单词,那么这会导致'list',而'List'不会与内建的相冲突。但我同意这会令人非常困惑。 – cdarke 2013-03-10 12:13:37
在*正常*代码中,您可能会想出比'list'更好的名称。在这种情况下,或许'range_list'就足够了。 – 2013-03-10 12:15:13