<分区>
我有一个列表 L = [a, b, c] 并且我想生成一个元组列表:
[(a,a), (a,b), (a,c), (b,a), (b,b), (b,c)...]
我试过做 L * L 但没有成功。谁能告诉我如何在 python 中获取它。
<分区>
我有一个列表 L = [a, b, c] 并且我想生成一个元组列表:
[(a,a), (a,b), (a,c), (b,a), (b,b), (b,c)...]
我试过做 L * L 但没有成功。谁能告诉我如何在 python 中获取它。
最佳答案
你可以用列表理解来做到这一点:
[ (x,y) for x in L for y in L]
编辑
您也可以按照其他人的建议使用 itertools.product,但前提是您使用的是 2.6 及更高版本。列表理解将适用于 Python 2.0 的所有版本。如果您确实使用 itertools.product,请记住它返回一个生成器而不是一个列表,因此您可能需要转换它(取决于您想要用它做什么)。
关于python - 列表乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2169838/