函数python中的参数

Die*_*ego 1 python arguments

这是一个关于符号的微妙问题.我想调用具有特定参数的函数,但无需重新定义它.

例如,min()第二个参数的键函数key = itemgetter(1)如下所示:

min_arg2 = lambda p,q = min(p,q, key = itemgetter(1))
Run Code Online (Sandbox Code Playgroud)

我希望把它称为min( *itemgetter(1) )......

有谁知道如何做到这一点?谢谢.

Dun*_*can 10

你想用functools.partial():

min_arg2 = functools.partial(min, key=itemgetter(1))
Run Code Online (Sandbox Code Playgroud)

有关文档,请参阅http://docs.python.org/library/functools.html.

例:

>>> import functools
>>> from operator import itemgetter
>>> min_arg2 = functools.partial(min, key=itemgetter(1))
>>> min_arg2(vals)
('b', 0)
Run Code Online (Sandbox Code Playgroud)