据我所知,我可以将字符串与is
和==
进行比较。有没有办法部分应用这些功能?
例如:
xs = ["hello", "world"]
functools.filter(functools.partial(is, "hello"), xs)
给我:
functools.filter(functools.partial(is, "hello"), xs)
^
SyntaxError: invalid syntax
您可以使用
operator.eq
:
import operator
import functools
xs = ["hello", "world"]
functools.filter(functools.partial(operator.eq, "hello"), xs)
收益 率
['hello']
operator.eq(a, b)
相当于a == b
。
我不知道
你为什么要在这里使用部分。直接将其编写为函数要容易得多,例如通过使用lambda:
functools.filter(lambda x: x == 'hello', xs)