Python小技之组合不同列表, 获取所有结果
Python的前辈们封装了非常多的特别简单又高效的方法
只不过不常用, 也不知道而已
今天就介绍下itertools的product函数

1 | list_a = [1, 2, 3] |
正常情况下, 如果要找出上面几个列表共有多少种组合, 我们要以下这样
1 | for a in list_a: |
结果是:
1 | 1,a |
如果只有三个循环的话, 这样写也没什么, 如果20个呢, 上百个呢, 结果可想而知, 一个长达几百行的循环
接下来, 就是我们的神器出场了

上面那个例子, 摇身一变
1 | import itertools |
就成了这样, 结果跟上面的几行一样效果, 如下
1 | 1,a |
如果是循环相同的迭代器, 还可以这样写
1 | for a,b,c in itertools.product(list_a, repeat=3): |
结果如下:
1 | 111 |
注意: itertools.product(),
这里其实得到的是一个元组, 例(1,1,1)(1,1,2)….
好了, 今天这个神奇的模块就到这里了, 你get到了嘛?
作者:
胖胖不胖
版权声明:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 不止于python
感谢您的支持,我会继续努力!
微信支付
支付宝