问题标签 [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.
python - 如何使用排列从输入中查找所有可能的单词?
我正在为我的编程课做一个项目,这是我正在努力的 5 件事。谢谢你的帮助!
- 有效单词列表将在 words.txt 中提供
- 要求只接受 2-8 个字母组合的输入
- 前任。输入将是“马球”
- 从 words.txt 中查找此输入的所有可能的有效单词
可能的结果,“poo”“pool”“loop”“polo”
/li>
python - itertools 和跨步列表赋值
给定一个列表,例如x = [True]*20
,我想分配False
给其他所有元素。
提高TypeError: must assign iterable to extended slice
所以我天真地假设你可以做这样的事情:
或者
但是,据我所知,这会导致无限循环。为什么会有无限循环?是否存在不涉及在分配之前知道切片中元素数量的替代方法?
编辑:我知道x[::2] = [False] * len(x)/2
在这种情况下有效,或者您可以在更一般的情况下为右侧的乘数提出一个表达式。我试图了解导致 itertools 无限循环的原因以及为什么列表分配的行为与 numpy 数组分配不同。我认为我误解了python必须有一些基本的东西。我最初也在考虑可能出于性能原因更喜欢 itertools 来列出理解或创建另一个 n 元素列表。
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]
感谢您的帮助。
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。
python - 为什么使用 itertools.product 时会出现 MemoryError?
我希望下面的代码片段给我一个迭代器,从两个输入迭代的笛卡尔积中产生对:
相反,我得到一个MemoryError
. 但我认为itertools.product
没有将中间结果存储在内存中,那么是什么原因造成的MemoryError
?
python - python是否具有用于交错生成器/序列的内置函数?
我注意到它itertools
(在我看来)没有能够将来自其他几个可迭代对象的元素交错的功能(而不是压缩它们):
(编辑)我问的原因是因为我想避免不必要的 zip/flatten 事件。
显然,定义leaf
很简单,但是如果有一个预定义的函数可以做同样的事情,我更愿意使用它,或者一个非常清晰的生成器表达式。是否有这样的内置函数,在 itertools 或其他一些著名的库中,或合适的惯用表达式?
编辑 2:一个更简洁的定义是可能的(使用functional
包):
python - Python:使用 itertools 从文本文件中获取列表中的上一个、当前和下一个项目
我已按照此答案中的概述设置了我的代码(如下所示):
out2.txt
看起来像这样:
此代码在使用类似list = [0,2,4,6,8,10]
但在将文本文件的行放入列表时工作正常。如何将文本文件的行用作列表。不x.readlines()
这样做吗?最终我需要能够根据item, next, and previous
结果打印输出。
当前输出为:
期望的输出应该是:
python - 按时间间隔分组消息
我目前正在尝试对以 1 秒时间间隔发送的消息进行分组。我目前正在计算时间延迟:
但是我想计算每秒发出的“T in:[A]”消息的数量,并且一直在尝试使用它来做到这一点:
可以在这里找到:Python:按时间间隔分组结果
(我意识到这些单位会按照我的意愿关闭,但我只是在研究总体思路......)
到目前为止,我大多不成功,希望能得到任何帮助。
此外,数据显示为:
python - 当使用while循环是最佳实践时,python中是否有任何情况?
我正在做一些 python 基准测试,我发现它比orrepeat(None)
快得多:while True
while 1
while 循环的这种用法是我实际使用 while 循环的最后一件事。有什么理由可以使用我忽略的时间吗?
python - 两个列表(男孩和女孩)的所有可能(一夫一妻制)配对
我有这两个列表:
你将如何建立所有可能的(一夫一妻制)配对[boy, girl]
?只有 3 个boys
和girls
,我认为这是所有可能配对的列表:
一般来说,你会怎么做(上面的格式)?这就是我能够提出的......
...这给出了这个输出。
你如何找到所有可能的配对(上面写出来的具体例子)?这些就像您必须将 3x3 矩阵的元素相乘(以找到其行列式)的 6 种方法。:)
斯文几乎回答(我的enumerate
补充)
这完全满足问题中的格式。