问题标签 [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 - 用于在列表中创建给定数量元素的 Python 习惯用法
通常,当我使用 Python 时,我会发现自己编写的列表推导式看起来像这样:
显然,这很好用,但是当我根本没有真正使用该信息时,创建一个范围并在其中迭代虚拟索引对我来说仍然有点尴尬。
我一点也不关心性能或类似的东西,只是感觉它不像 Python 通常那样优雅。
我想知道是否有任何很好的惯用方式来避免不必要的列表理解语法,也许使用类似map
或 in 的东西itertools
,给我看起来更像......
python - Python 的 itertools.repeat 的目的是什么?
对于我能想到的 Pythonitertools.repeat()
类的每一种用途,我都能想到另一种同样(可能更多)可接受的解决方案来实现相同的效果。例如:
有没有哪种情况itertools.repeat()
是最合适的解决方案?如果有,在什么情况下?
python - 在 itertools.products 中命名可迭代的部分
我一直在阅读 about itertools
,这似乎是一个非常强大的模块。我特别感兴趣的是itertools.product()
哪个似乎给了我所有可迭代输入的组合。
但是,我想知道每个输出来自哪个输入迭代。例如,一个简单的标准示例是:
如果用户提供了 [1,2,3], [1, 2] 的输入,我将不知道他们输入的顺序,所以得到的结果
没有多大帮助,因为我不知道他们会朝哪个方向走。是否有某种方式提供输入,例如:
然后得到如下输出:
或者
python - 使用 Python IndexError 创建真值表:列表超出范围
尝试使用 itertools 通过 Python 制作真值表但不断收到相同的错误
到目前为止,这是我的代码
错误出现在 main() 和 w0 = gen_constants (int(sys.argv [1]))
python - 使用 itertools 生成 2 个 1 和 3 个 0 的所有排列
可能是基本的,但在任何其他问题中都找不到。我试过:
但是有很多重复,似乎 itertools 不理解所有的零并且所有的都是相同的......
我错过了什么?
编辑:
哎呀。感谢 Gareth,我发现这个问题是重复的:permutations with unique values。没有关闭它,因为我认为我对问题的措辞更清楚。
python - 使用 itertools 索引数组
这是一段代码,它给了我一个与我所期望的不同的答案。这条线:print list(x)
做我所期望的。我希望这行:print random_array[list(x)]
返回数组中该元素的值,但它返回三个数组。如果例如list(x)
返回[9, 8, 7]
然后random_array[9, :, :], random_array[8, :, :], random_array[7, :, :]
将被打印。有人可以向我解释这是为什么吗?我怎样才能得到预期的答案?
python - 在python中具有块大小序列的石斑鱼?
我有一个生成器,我想在两个级别上进行迭代。第一级间隔不均匀,然后我想将下一个级别分成 5 个组,比如说。我需要它具有内存效率并处理生成器输入,所以我正在做类似以下的事情。我不得不认为可能有更好的方法?特别是,我不希望在不均匀长度结果中出现尾随无。
python - itertools 骰子掷骰子:双倍掷骰子两次
我正在尝试学习 Python 库itertools
,我认为一个好的测试是模拟掷骰子。product
使用库生成所有可能的滚动并计算可能的方式很容易collections
。我正在尝试解决诸如大富翁之类的游戏中出现的问题:当双打时,您再次滚动,您的最终总数是两次滚动的总和。
下面是我解决问题的开始尝试:两个计数器,一个用于双打,另一个用于非双打。我不确定是否有将它们结合起来的好方法,或者这两个计数器是否是最好的方法。
我正在寻找一种巧妙的方法来解决(通过枚举)使用 itertools 和集合的双打掷骰子问题。
python - 带有约束的 Python 排列
我正在使用 python 3,我试图找到一种方法来获取列表的所有排列,同时强制执行一些约束。
例如,我有一个列表L=[1, 2, 3, 4, 5, 6, 7]
我想找到所有排列。但是,我的限制是:
- 1 应该总是在 2 之前。
- 3 应该在 4 之前,而 4 又应该在 5 之前。
- 最后,6 应该在 7 之前。
当然,我可以生成所有排列并忽略那些不遵循这些约束的排列,但我猜这不会是有效的。
python - 如何遍历字母和数字
我想知道如何在 Python 中遍历一组条件。
- 具有 2-6 个小写字母或数字字符的字符串
- 第一个字符始终是数字
所以一个简短的进展将是:
可以做到前两个的一个可怕的例子是
我找到了 itertools,但找不到很好的例子。