gpt4 book ai didi

python - 可以部分应用不带关键字参数的函数的第二个参数吗?

转载 作者:IT老高 更新时间:2023-10-28 21:46:57 25 4
gpt4 key购买 nike

以python内置的pow()函数为例。

xs = [1,2,3,4,5,6,7,8]

from functools import partial

list(map(partial(pow,2),xs))

>>> [2, 4, 8, 16, 32, 128, 256]

但是我如何将 xs 提高到 2 的幂呢?

获取[1, 4, 9, 16, 25, 49, 64]

list(map(partial(pow,y=2),xs))

TypeError: pow() takes no keyword arguments

我知道列表推导会更容易。

最佳答案

没有

根据the documentation , partial 不能这样做(强调我自己的):

partial.args

The leftmost positional arguments that will be prepended to the positional arguments


您总是可以“修复” pow 以拥有关键字 args:

_pow = pow
pow = lambda x, y: _pow(x, y)

关于python - 可以部分应用不带关键字参数的函数的第二个参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11173660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com