问题标签 [itertools]

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 投票
1 回答
503 浏览

python - 如何使用排列从输入中查找所有可能的单词?

我正在为我的编程课做一个项目,这是我正在努力的 5 件事。谢谢你的帮助!

  1. 有效单词列表将在 words.txt 中提供
  2. 要求只接受 2-8 个字母组合的输入
  3. 前任。输入将是“马球”
  4. 从 words.txt 中查找此输入的所有可能的有效单词
  5. 可能的结果,“poo”“pool”“loop”“polo”

    /li>
0 投票
5 回答
752 浏览

python - itertools 和跨步列表赋值

给定一个列表,例如x = [True]*20,我想分配False给其他所有元素。

提高TypeError: must assign iterable to extended slice

所以我天真地假设你可以做这样的事情:

或者

但是,据我所知,这会导致无限循环。为什么会有无限循环?是否存在不涉及在分配之前知道切片中元素数量的替代方法?

编辑:我知道x[::2] = [False] * len(x)/2在这种情况下有效,或者您可以在更一般的情况下为右侧的乘数提出一个表达式。我试图了解导致 itertools 无限循环的原因以及为什么列表分配的行为与 numpy 数组分配不同。我认为我误解了python必须有一些基本的东西。我最初也在考虑可能出于性能原因更喜欢 itertools 来列出理解或创建另一个 n 元素列表。

0 投票
4 回答
12671 浏览

python - 如何使用 python 加入/合并两个生成器输出

我有两个发电机 g1 和 g2

[a,a,a]
[b,b,b]
[c,c,c]

[1, 1, 1]
[2, 2, 2]
[3, 3, 3]

[a, a, a]
[b, b, b]
[c, c, c]
[1, 1, 1]
[2, 2, 2]
[3, 3, 3]


如何

我得到如下输出:

[a, a, a],[1, 1, 1]
[b, b, b],[2, 2, 2]
[c, c, c],[3, 3, 3]


[a, a, a, 1, 1, 1]
[b, b, b, 2, 2, 2]
[c, c, c, 3, 3, 3]


感谢您的帮助。

0 投票
1 回答
23184 浏览

python - Python itertools.combinations 的结果

我没有得到我应该从标题中的那个函数获得的结果数量,所以我希望得到你的帮助。

查看文档 http://docs.python.org/library/itertools.html#itertools.combinations 结果的数量应该是

返回的项目数是 n! /r!/(NR)!当 0 <= r <= n 或 r > n 时为零。

它适用于那里的例子

组合('ABCD', 2) --> AB AC AD BC BD CD

因为n!/r!/(NR)!= 4!/2!/2!= 6

但如果我尝试

我得到了这 15 个结果。但是n!/r!/(NR)!= 6!/3!/(6-3)!= 720 / 6 / 6 = 20

所以:Python 文档告诉我应该有 20 个结果,但我得到了 15 个。

你能帮我理解我错过了什么吗?也许是我的数学中的东西,因为该公式应该是正确的,因为它在维基百科组合条目中

谢谢,P。

0 投票
3 回答
3438 浏览

python - 为什么使用 itertools.product 时会出现 MemoryError?

我希望下面的代码片段给我一个迭代器,从两个输入迭代的笛卡尔积中产生对:

相反,我得到一个MemoryError. 但我认为itertools.product没有将中间结果存储在内存中,那么是什么原因造成的MemoryError

0 投票
3 回答
3871 浏览

python - python是否具有用于交错生成器/序列的内置函数?

我注意到它itertools(在我看来)没有能够将来自其他几个可迭代对象的元素交错的功能(而不是压缩它们):

(编辑)我问的原因是因为我想避免不必要的 zip/flatten 事件。

显然,定义leaf很简单,但是如果有一个预定义的函数可以做同样的事情,我更愿意使用它,或者一个非常清晰的生成器表达式。是否有这样的内置函数,在 itertools 或其他一些著名的库中,或合适的惯用表达式?

编辑 2:一个更简洁的定义是可能的(使用functional包):

0 投票
1 回答
1667 浏览

python - Python:使用 itertools 从文本文件中获取列表中的上一个、当前和下一个项目

我已按照此答案中的概述设置了我的代码(如下所示):

out2.txt看起来像这样:

此代码在使用类似list = [0,2,4,6,8,10]但在将文本文件的行放入列表时工作正常。如何将文本文件的行用作列表。不x.readlines()这样做吗?最终我需要能够根据item, next, and previous结果打印输出。

当前输出为:

期望的输出应该是:

0 投票
2 回答
2106 浏览

python - 按时间间隔分组消息

我目前正在尝试对以 1 秒时间间隔发送的消息进行分组。我目前正在计算时间延迟:

但是我想计算每秒发出的“T in:[A]”消息的数量,并且一直在尝试使用它来做到这一点:

可以在这里找到:Python:按时间间隔分组结果

(我意识到这些单位会按照我的意愿关闭,但我只是在研究总体思路......)

到目前为止,我大多不成功,希望能得到任何帮助。

此外,数据显示为:

0 投票
3 回答
1226 浏览

python - 当使用while循环是最佳实践时,python中是否有任何情况?

我正在做一些 python 基准测试,我发现它比orrepeat(None)快得多:while Truewhile 1

while 循环的这种用法是我实际使用 while 循环的最后一件事。有什么理由可以使用我忽略的时间吗?

0 投票
1 回答
698 浏览

python - 两个列表(男孩和女孩)的所有可能(一夫一妻制)配对

我有这两个列表:

你将如何建立所有可能的(一夫一妻制)配对[boy, girl]?只有 3 个boysgirls,我认为这是所有可能配对的列表:

一般来说,你会怎么做(上面的格式)?这就是我能够提出的......

...这给出了这个输出。

你如何找到所有可能的配对(上面写出来的具体例子)?这些就像您必须将 3x3 矩阵的元素相乘(以找到其行列式)的 6 种方法。:)

斯文几乎回答(我的enumerate补充)

这完全满足问题中的格式。