问题标签 [functools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2893 浏览

python - 一个从字典python中查找嵌套值的衬垫

假设我有一个任意嵌套的字典:

还有一个键列表,其位置告诉我要在哪个嵌套字典中查找每个键:

是否有一个简单的班轮来做到这一点?我查看了下面列出的问题,它们很相似,但并不是我真正想要的。我自己也尝试过并想出了这个:

这样做的问题是,在第二个键列表的情况下(请参阅注释掉的键),它会继续进一步查找嵌套键,即使没有找到更高级别的键,并且继续是没有意义的。reduce一旦我找到最终匹配或失败,我该如何停止(下面列出的问题之一解决了它,但我不能真正将它应用到我的用例中......或者我可以吗?)?还有其他想法吗?哦,我只想使用官方 python 库来完成这个。所以 nonumpypandas,但是functoolsitertools都很好

Python:将列表转换为具有异常处理的多维字典的字典键

是否有一个简单的单行代码来访问 Python 中嵌套字典的每个元素?

在 Python 3.3 中访问嵌套字典中的嵌套值

使用 itertools 进行递归函数应用

中途停止 Reduce() 操作。进行部分运行总和的功能方式

在字典中递归查找键

谢谢!

0 投票
5 回答
15753 浏览

python - functools 中 lru 缓存的用法

我想在我的代码中使用 lru_cache,但是,我收到了这个错误:

我的代码中确实有一个 import functools 但这无济于事

示例代码在这里:

0 投票
1 回答
2389 浏览

python - Why does functools.lru_cache break this function?

Consider the following function, which returns all the unique permutations of a set of elements:

This prints

as expected. However, when I add the lru_cache decorator, which memoizes the function:

it prints the following:

Why is it only printing the first permutation?

0 投票
2 回答
76 浏览

python - 将具有相同命令的相同按钮放在多个位置,但具有独特的功能

我不完全确定如何用一句话来表达我的问题。我正在使用 python 创建一个能够为运动员记录里程的日历。我制作了一个日历,其中包含一个 7x4 网格,其中包含左上角的月份数和中心的一个按钮,上面写着“记录今天的锻炼”。

该按钮应该打开一个新窗口,允许用户输入里程数和速度,当用户在新窗口底部按下“日志”时,它应该显示当天的里程数和配速按钮被按下。

我的问题是我无法弄清楚如何仅用信息替换点击的特定日期。因为我不想为每个月的每一天制作一个按钮,所以我每天都有相同的按钮(以及相同的命令)。我需要按钮知道它在网格中的位置,并且能够通过里程和速度告诉标签放置在哪里。

我曾尝试研究 lambda 以查看它是否有帮助,但无济于事。这是我的代码的相关部分(对python来说还是相当新的,可能有点草率,我很抱歉)。

我省略了很多代码。显示的是每天放置按钮的代码,以及在日历上放置步伐的代码。我尝试了一些东西放在行和列中。我通常会收到错误消息,或者它在每个框中都放置了相同的标签。我需要知道如何更改按钮或在行和列中放置什么以仅替换单击的按钮。如果需要其他任何东西,我会非常频繁地检查并经常更新。

0 投票
3 回答
2922 浏览

python - Python functools.partial - 如何使用静态装饰器将其应用于类方法

我知道必须有办法做到这一点。但我收到错误“TypeError:第一个参数必须是可调用的”。

我可以做些什么不同的事情来完成这项工作?

0 投票
1 回答
365 浏览

python - 将方法绑定到对象运行时后期绑定

我知道python循环中的后期绑定,但我找不到解决这个问题的方法。

我尝试过partialfunctools没有成功:(

0 投票
1 回答
3323 浏览

python - How are Python2's built-in reduce and functools.reduce different?

Both have exact same documentation, and it seems to me that both stem from same source code in https://hg.python.org/cpython/file/Modules/_functoolsmodule.c.

However, I am not sure about it. I didn't find any other refernces in the source code of CPython. Can some one shed some more light on this here?

0 投票
1 回答
56 浏览

python - Python 泛型函数调度

有什么方法可以调度参数可能是:

  • 单个 lambda 函数(即func(lambda x: x)
  • kwargs(即func(a='some sting', b='some other string')

如我所见,singledispatch装饰器 fromfunctools仅支持对第一个参数进行调度,在我的情况下这是行不通的。我错过了什么吗?

0 投票
1 回答
306 浏览

python - 应用 groupby 变换中的函数

我的熊猫看起来像这样

我有一个程序可以在其中一个具有嵌入式功能的功能上成功运行 groupby。

这条线看起来像这样

在此处查看我的初始问题和数据格式:

仅在同一 df 中的 df col 行中选择一个值来计算来自不同 val 的结果,并且一次仅在一个代码上计算 df

现在我意识到,与其在我有 5 个的每个嵌入式函数中执行 groupby,我宁愿让 groupby 在调用顶部函数的主程序中运行,这样所有嵌入式函数都可以在过滤后的 groupby pandas 上运行数据框只做一次 groupby ......

如何使用 groupby 应用我的主要功能,以过滤我的熊猫,所以我一次只处理一个代码(col 'Ticker' 中的值)?

“Ticker”列包含“aapl”、“msft”、“nflx”公司标识符等,以及时间窗口的时间序列数据。


非常感谢卡拉辛斯基。这接近我想要的。但我得到一个错误。

当我运行时:

我收到此错误:

当我像这样使用 functools

我得到与上述相同的错误...


编辑自卡拉辛斯基 31/5 的编辑。

当我运行 Karasinski 的最后一个建议时,我收到了这个错误。

0 投票
2 回答
5616 浏览

python - 在具有常量但不可散列对象的函数上使用 functools.lru_cache

是否可以functools.lru_cache用于缓存由创建的部分函数functools.partial

我的问题是一个函数,它接受可散列的参数和持续的、不可散列的对象,例如 NumPy 数组。

考虑这个玩具示例:

由于 NumPy 数组不可散列,这将不起作用:

正如预期的那样,您会收到以下错误:

所以我的下一个想法是用来functools.partial摆脱 NumPy 数组(无论如何它都是不变的)

所以现在我有一个只接受可散列参数的函数,应该非常适合lru_cache. 但是lru_cache在这种情况下可以使用吗?我不能将它用作包装函数而不是@lru_cache装饰器,可以吗?

有没有聪明的方法来解决这个问题?