本文介绍了2个清单的组合的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Input: [1, 2, 3] [a, b]
Expected Output: [(1,a),(1,b),(2,a),(2,b),(3,a),(3,b)]
这可行,但是如果没有if语句,还有更好的方法吗?
This works, but is there a better way without an if statement?
[(x,y) for (x,y) in list(combinations(chain(a,b), 2)) if x in a and y in b]推荐答案
使用 itertools.product ,笛卡尔积的便捷库工具:
Use itertools.product, your handy library tool for a cartesian product:
from itertools import product l1, l2 = [1, 2, 3], ['a', 'b'] output = list(product(l1, l2)) # [(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b'), (3, 'a'), (3, 'b')]更多推荐
2个清单的组合
发布评论